Mybatis框架
MyBatis 是一个持久层框架,实现了对JDBC操作的封装,主要用于简化JDBC操作中的一些相对繁琐的步骤,例如参数的映射,结果集的映射等。
MyBatis配置
1.添加依赖
MYSQL驱动依赖
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.40</version>
</dependency>
Mybatis框架依赖
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.6</version>
</dependency>
2.配置项目
在resource下创建mybatis-config.xml
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<!-- mybatis 核心配置 -->
<configuration>
<!-- 配置初始化环境(连接) -->
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<!-- 使用mybatis自带连接池 -->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql:///jtsys"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>
</configuration>
3.测试程序
public class TestMybatis {
/**
* 借助此对象创建SqlSession(通过此对象
* 实现与数据库之间的会话)
*/
protected SqlSessionFactory factory;
/**
* 此方会在@Test注解修饰的方法之前执行,
* 通常用于做一些初始化操作(方法名自己定义)
*/
@Before
public void init()throws IOException{
InputStream in=Resources.getResourceAsStream("mybatis-configs.xml");
factory=new SqlSessionFactoryBuilder().build(in);
//系统底层建造者模式构建工厂对象(此对象构建过程相对复杂)
System.out.println(factory);
}
@Test
public void testSqlSessionConnection(){
SqlSession session=factory.openSession();
Connection conn=session.getConnection();
System.out.println(conn);
}
}
4.测试结果
org.apache.ibatis.session.defaults.DefaultSqlSessionFactory@516be40f
com.mysql.jdbc.JDBC4Connection@7e0b85f9
业务逻辑测试
在Resource下创建Mapper folder,并创建mybatis配置文件SysLogMapper.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">
<mapper namespace="com.company.SysLogMapper">
<cache/>
<delete id="deleteObject">
delete from sys_logs where id=#{id}
</delete>
<select id="findPageObject" resultType="Object">
select id,createdTime from sys_logs
limit #{startIndex},#{pageSize}
</select>
</mapper>
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。