Mybaits的入门案例
1、读取配置文件
2、创建SqlSessionFactory工厂
3、创建Session
4、创建dao接口的代理对象
5、执行dao中的方法
6、释放资源
注意事项
不要忘记在映射配置中告知mybatis要封装到哪个实体类中
配置方式:指定实体类的全限定性类名
public static void main(String[] args)throws Exception {
//1.读取配置文件
InputStream in = Resources.getResourceAsStream(“SqlMapConfig.xml”);
//2.创建SqlSessionFactory工厂
SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
SqlSessionFactory factory = builder.build(in);
//3.使用工厂生产SqlSession对象
SqlSession session = factory.openSession();
//4.使用SqlSession创建Dao接口的代理对象
IUserDao userDao = session.getMapper(IUserDao.class);
//5.使用代理对象执行方法
List users = userDao.findAll();
for(User user : users){
System.out.println(user);
}
//6.释放资源
session.close();
in.close();
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
5、实现更新数据操作
dao接口部分代码
void updateUser(User user);
1
IUserDao代码
update user set username=#{username},birthday=#{birthday},sex=#{sex},address=#{address} where id=#{id}
1
2
3
parameterType属性值是#{}里变量的所在的实体类
测试代码
@Test
public void updateUser(){
User user=new User();
user.setId(2);
user.setUsername(“fengwen”);
user.setSex(“女”);
user.setAddress(“德州”);
user.setBirthday(new Date());
userDao.updateUser(user);
}
1
2
3
4
5
6
7
8
9
10
11
这里也需要上面的工厂部分,只不过为了减少代码冗余。将其封装在三个方法里。封装过程中用到了三个注解
@Before 代表此方法需要在测试方法之前执行
@After代表此方法需要在测试方法之后执行
select last_insert_id();
1
将selectkey标签放在标签中可用于查询插入数据的id ,其中keyproperty的属性值表示其在实体类中的id,keyColumn表示其在数据库中的id,resuleType表示返回类型 order表示此条语句的执行时间