MyBatis的基本配置以及简单的功能实现
MyBatis是一个操作数据库的ORM持久层框架
配置以及功能实现基于idea
1.创建普通的Java项目
项目结构
2.导包:核心包+依赖包+数据库驱动包
核心包:
依赖包:
数据库驱动包:
3.建表,建domain
4.配置核心文件
mybatis-config.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<!--<configuration>xml中的根-->
<configuration>
<!--引入数据库配置文件jdbc.properties-->
<properties resource="jdbc.properties" />
<!--环境们,默认development环境-->
<environments default="development">
<!--一个环境对应一个数据库-->
<environment id="development">
<!--事务管理器-->
<transactionManager type="JDBC"/>
<!--连接池之四大金刚-->
<dataSource type="POOLED">
<property name="driver" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</dataSource>
</environment>
</environments>
<!--配置映射关系-:映射到domain中具体类-->
<mappers>
<mapper resource="cn/dieu/domain/ProductMapper.xml"/>
</mappers>
</configuration>
jdbc.proerties
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql:///mybatis
jdbc.username=root
jdbc.password=147258
5.新建xml来写SQL
ProductMapper.xml
<?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">
<!--
namespace:命名空间(一个domain对应一个这个xml)
-->
<mapper namespace="cn.dieu.domain.ProductMapper">
<!--
如果到时候想找到这条SQL: namespace+id
等会要找到它:cn.dieu.domain.ProductMapper.findOne
parameterType:代表传参类型
long -> Long _long -> long
参考:[link](http://www.mybatis.org/mybatis-3/zh/configuration.html)
resultType:返回的某一个条数的类型(必需写全限定名)
-->
<select id="findOne" parameterType="long" resultType="cn.dieu.domain.Product" >
select * from product where id = #{id}
</select>
</mapper>
6.简单功能实现
public class MyBatisTest {
@Test
public void findOne() throws Exception {
//①读取核心配置文件mybatis-config.xml
Reader reader = Resources.getResourceAsReader("mybatis-config.xml");
//②创建SqlSessionFactory会话工厂对象
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader);
//③创建SqlSession会话对象(做crud的对象)
SqlSession session = factory.openSession();
//④session操作数据库(读取数据)
Product product = session.selectOne("cn.dieu.domain.ProductMapper.findOne", 1L);
System.out.println(product);
//⑤关闭session
session.close();
}
}