MyBatis 入门
一、MyBatis 入门案例—配置文件版
1.入门案例
public class MybatisTest {
/*
* 入门案例
* @param args
* */
public static void main(String[] args) throws IOException {
//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<User> users = userDao.findAll();
for(User u:users){
System.out.println(u);
}
//6.释放资源
session.close();
in.close();
}
}
2.注意事项
不要忘记在映射配置种告知myBatis要封装到哪个实体类种
配置方式:指实体类全限定类名
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.lsu.dao.IUserDao">
<!--配置查询所有 id是方法名称(Dao的方法名称),标签包裹对应的sql语句-->
<select id="findAll" resultType="com.lsu.domain.User">
select * from user
</select>
</mapper>
二、MyBatis 入门案例—注解配置版
-
把IuserDao.xml移除,在dao接口的方法上使用@Select注解,并且指定SQL语句,
-
同时需要在SqlMapConfig.xml中的mapper配置时,使用class属性指定这个dao接口的全限定类名
对SqlMapConfig.xml文件进行修改
<mappers>
<!--<mapper resource="com/lsu/dao/IUserDao.xml" />-->
<mapper class="com.lsu.dao.IUserDao" />
</mappers>
Dao文件加上注释
public interface IUserDao {
@Select("select * from user")
List<User> findAll();
}
-
简单解释