首先新建个maven项目,具体如何新建不讲解。
1、在pom.xml引用mybatis和mysql的jar包
<dependencies>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.3</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>3.1.12</version>
</dependency>
</dependencies>
2、添加jdbc.properties 配置
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/db_mybatis
jdbc.username=root
jdbc.password=123456
3、添加mybatis-config.xml 这里与spring单独配置
<?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>
<!-- 加载类路径下的属性文件 -->
<properties resource="jdbc.properties"/>
<!-- 设置类型别名 -->
<typeAliases>
<typeAlias alias="Student" type="com.java1234.model.Student"/>
</typeAliases>
<!-- 设置一个默认的连接环境信息 -->
<environments default="development">
<!-- 连接环境信息,取一个任意唯一的名字 -->
<environment id="development">
<!-- mybatis使用jdbc事务管理方式 -->
<transactionManager type="JDBC" />
<!-- mybatis使用连接池方式来获取连接 -->
<dataSource type="POOLED">
<!-- 配置与数据库交互的4个必要属性 -->
<property name="driver" value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</dataSource>
</environment>
</environments>
<!-- 加载映射文件-->
<mappers>
<mapper resource="com/java1234/mappers/StudentMapper.xml" />
</mappers>
</configuration>
4、创建sqlSessionFactory ,这里创建sqlSession实例,使用单例的模式,需要将mybatis-config.xml引入到文件流中,然后build实例对象出来
package com.java1234.util;
import java.io.InputStream;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
public class SqlSessionFactoryUtil {
private static SqlSessionFactory sqlSessionFactory;
public static SqlSessionFactory getSqlSessionFactory() {
try {
//读取mybatis-config.xml文件
InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");
//初始化mybatis,创建SqlSessionFactory类的实例
sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
} catch (Exception e) {
e.printStackTrace();
}
return sqlSessionFactory;
}
public static SqlSession openSession() {
//创建session实例
return getSqlSessionFactory().openSession();
}
}
5、将mappers映射引入到sqlSessionFactory中,执行添加
package com.java1234.service;
import org.apache.ibatis.session.SqlSession;
import com.java1234.mappers.StudentMapper;
import com.java1234.model.Student;
import com.java1234.util.SqlSessionFactoryUtil;
public class StudentTest {
public static void main(String[] args) {
SqlSession sqlSession=SqlSessionFactoryUtil.openSession();
//将sqlsession映射的mapper,执行sql语句(已经分层)
StudentMapper studentMapper=sqlSession.getMapper(StudentMapper.class);
//装入实体
Student student=new Student("李四",11);
int result=studentMapper.add(student);
//提交事务
sqlSession.commit();
//关闭事务
sqlSession.close();
if(result>0){
System.out.println("添加成功!");
}
}
}
6、mapper.java 和 ,mapper.xml分别如下:
package com.java1234.mappers;
import com.java1234.model.Student;
public interface StudentMapper {
public int add(Student student);
}
<?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.java1234.mappers.StudentMapper">
<insert id="add" parameterType="Student" >
insert into t_student values(null,#{name},#{age})
</insert>
</mapper>
总结:
1、主要是sqlSessionFactory,需要创建实例,并且将这个实例进行build,build后进行open.在这里是将mybatis-config文件加载进来,这个配置文件也会读取jdbc.proerties文件。
2、在代码中是将mapper装入sqlSession中,然后执行mapper里面的add方法
3、需要注意的是open之后,要提交commit和close;
4、pox.xml依赖包中mysql不要使用8.0的版本,太高有区别。
参考SqlSessionFactory 和sqlSesiion 介绍和运用地址
参考www.java1234.com 学习总结