jsp DAO连接mysql_jsp连接数据库(mybatis)

Mybatis是当前主流的Java持久层框架之一,是一种ORM框架。性能优异,有高度的灵活性、可优化性、易于维护。Mybatis是一个支持普通SQL查询、存储过程以及高级映射的持久层框架,消除了几乎所有的JDBC代码和参数的手动设置以及对结果集的检索,并使用简单的XML或者注解进行配置和原始映射,用以将接口和Java的POJO映射成数据库中的记录。Mybatis也被称为ORM(对象关系映射)框架,通过Java对象与数据表之间的映射关系,自动将Java应用程序中的对象持久化到关系型数据库的表中。

准备工作:1.mybatis jar包 2.数据库驱动jar包

注:安装mysql,并有管理mysql的图形化界面,个人推荐Navicat premium

思路操作:

0.在src下创建model包,model包下创建userinfo.class实体类,model下的每个实体类对应数据库中的一张表。务必将数据库中所有属性写到实体类中。

1.在src下创建config.xml配置文件,该文件用于配置连接数据库的信息。

具体内容如下:

PUBLIC "-//mybatis.org//DTD Config 3.0//EN"  "http://mybatis.org/dtd/mybatis-3-config.dtd">

2.在src下创建mapper包,在mapper包下创建UserinfoMapper.class接口类文件。该文件即SQL映射文件,该文件中配置了操作数据库的SQL语句,需要在config.xml中加载才能执行。mybatis-config.xml可以加载多个配置文件,每个配置文件对应数据库中的一张表。

具体实例如下:

public interface UserInfoMapper {

@Select("select * from userinfo")

public List getAllUserInfo();

@Select("select * from userinfo where u_account=#{u_account} and u_password=#{u_password}")

public UserInfo login(UserInfo userInfo);

@Insert("insert into userinfo(u_account,u_password) values(#{u_account},#{u_password})")

public int insert(UserInfo userInfo);

}

3.在src下创建utils包,在utils包下创建MybatisUtil.class文件,该文件用于集成功能获取factory。

具体内容如下:

public class MybatisUtils {

public static SqlSessionFactory getFactory() {

String config="config.xml";

InputStream inputStream=

MybatisUtils.class.getClassLoader().getResourceAsStream(config);

SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(inputStream);

return factory;

}

}

4.在src下创建dao包,在dao包下创建UserinfoDao.class文件,该文件用于实现mapper接口类中的方法。

具体内容如下:

public class UserinfoDao {

public List getAllUser(){

SqlSession session=MybatisUtils.getFactory().openSession();

UserinfoMapper mapper=session.getMapper(UserinfoMapper.class);

List users=mapper.getAllUserinfo();

session.close();

return users;

}

public Userinfo login(Userinfo userinfo) {

SqlSession session=MybatisUtils.getFactory().openSession();

UserinfoMapper mapper=session.getMapper(UserinfoMapper.class);

Userinfo users=mapper.login(userinfo);

session.close();

return users;

}

public int insert(Userinfo userinfo) {

SqlSession session=MybatisUtils.getFactory().openSession();

UserinfoMapper mapper=session.getMapper(UserinfoMapper.class);

int users=mapper.insert(userinfo);

session.commit();

session.close();

return users;

}

}

5.测试:

public class Test01 {

public static void main(String[] args) {

UserinfoDao dao=new UserinfoDao();

//    List users=dao.getAllUser();

//    System.out.println(users);

Userinfo userinfo=new Userinfo();

//userinfo.setU_account("useraccount1");

//userinfo.setU_password("321");

//Userinfo user=dao.login(userinfo);

//System.out.println(user.getU_id());

userinfo.setU_account("lyh");

userinfo.setU_password("123");

dao.insert(userinfo);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值