1.导入相应的jar包和创建一个的实体类和数据表对应
2.product的dao层准备
写上增删改查的方法
3.测试先行
4.实现步骤
1.要获取SqlSessionFactory,我们需要准备一个核心的Mybatis-config.xml文件,然后通过SqlSessionFactoryBuilder来创建,所以步骤:
(1)创建Mybatis核心配置文件(Mybatis-config.xml),并配置环境; |
(2)加载核心配置文件 |
(3)创建一个SqlSessionFactoryBuilder对象; |
(4)通过SqlSessionFactoryBuilder对象构建一个SqlSessionFactory对象 |
(5)创建Mapper映射文件,并配置; |
通过SqlSessionFactory获取SqlSession执行映射SQL |
核心配置文件:MyBatis-Config.xml
<configuration>
<!-- 引入配置文件信息,这里不能加classpath:。
resource:引入类路径下的资源,即classpath,所以不需要写classpath:
url:引入网络路径或磁盘路径下的资源
-->
<properties resource="db.properties"></properties>
<!-- 环境们 (很多环境的意思)
default:默认使用哪一个环境(必需对应一个环境的id)
-->
<environments default="development">
<!-- 一个环境 id:为这个环境取唯一一个id名称 -->
<environment id="development">
<!-- 事务管理 type:JDBC(支持事务)/MANAGED(什么都不做) -->
<transactionManager type="JDBC" />
<!-- 数据源, 连接池 type(POOLED):MyBatis自带的连接池 -->
<dataSource type="POOLED">
<!-- 连接数据库的参数:直接写死的方式 -->
<!--
<property name="driver" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql:///mydb" />
<property name="username" value="root" />
<property name="password" value="admin" />
-->
<!-- 连接数据库的参数:使用属性文件的方式 -->
<property name="driver" value="${db.driver}" />
<property name="url" value="${db.url}" />
<property name="username" value="${db.username}" />
<property name="password" value="${db.password}" />
</dataSource>
</environment>
</environments>
<!-- 这个mappers代表的是相应的ORM映射文件 -->
<mappers>
<mapper resource="cn/itsource/domain/ProductMapper.xml" />
</mappers>
</configuration>
属性文件:db.properties
db.driver=com.mysql.jdbc.Driver
db.url=jdbc:mysql:///test0303
db.username=root
db.password=admin
映射文件:这个映射文件的名称一般叫做 XxxMapper.xml (Xxx代表的是实体类名称)
dao层实现:
SqlSession sqlSession = null;
try {
//1 准备配置文件 ok
//2 创建SqlSessionFactory
Reader reader = Resources.getResourceAsReader("MyBatis-Config.xml");
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
//3 获取sqlSession做操作
sqlSession = sqlSessionFactory.openSession();
//表示调用那句sql(namespace+.+id)-拷贝,传入参数,接收得到返回值
return sqlSession
.selectList("cn.itsource.dao.IProductDao.loadAll");
5.Mybatis工具类
(1)抽取(2)使用工具完成CRUD
6.Mybatis设置别名
<typeAliases>
<!-- 单个配置:测试时使用 -->
<typeAlias type="cn.itsource.domain.Dept" alias="Dept" />
<!-- 包的配置:项目中使用,添加了包之后,类名或类名首字母小写就是别名 -->
<package name="cn.itsource.domain" />
</typeAliases> 在mybatis配置文件中添加