MyBatis 是一个持久层框架,实现了对JDBC操做的封装,主要用于简化JDBC操做中的一些相对繁琐的步骤,例如参数的映射,结果集的映射等。java
1.添加依赖mysql
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.xmlsql
<!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); }
}apache
4.测试结果session
org.apache.ibatis.session.defaults.DefaultSqlSessionFactory@516be40f com.mysql.jdbc.JDBC4Connection@7e0b85f9
在Resource下建立Mapper folder,并建立mybatis配置文件SysLogMapper.xmlmybatis
<?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>