1、引入jar包或者依赖坐标
<!--mybatis坐标-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.5</version>
</dependency>
<!--mysql驱动坐标-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.6</version>
<scope>runtime</scope>
</dependency
2、配置数据库连接
//数据库连接环境
<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.user}"/>
<property name="password" value="${jdbc.password}"/>
</dataSource>
</environment>
</environments>
由于我这里使用的是加载properties配置文件读取有关数据库的相关信息,还要再加上读取properties配置文件的语句
<!--加载外部的properties配置文件-->
<properties resource="jdbc.properties"></properties>
3、创建mapper接口(注意:mapper接口里面的方法名要和mapper.xml里面的方法对应)
public interface UserMapper {
List<User> findAll();
}
4、创建接对应的mapper.xml,在里面写上接口的实现
<mapper namespace="com.it.mapper.UserMapper">
<!--查询数据-->
<select id="findAll" resultType="user">
select * from user
</select>
</mapper>
5、构建测试方法
@Test
public void test1() throws IOException {
//加载核心配置文件
InputStream resourceAsStream = Resources.getResourceAsStream("sqlMapConfig.xml");
//获得sqlSession工厂对象
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);
//获得sqlSession对象
SqlSession sqlSession = sqlSessionFactory.openSession();
//执行sql语句
List<User> userList = sqlSession.selectList("com.it.mapper.UserMapper.findAll");
//打印结果
System.out.println(userList);
//释放资源
sqlSession.close();
}
源码
依赖
数据库配置文件
jdbc.driver = com.mysql.jdbc.Driver
jdbc.url = jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8
jdbc.user = root
jdbc.password = 1234
mybatis配置文件
<?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配置文件-->
<properties resource="jdbc.properties"></properties>
<!--自定义别名-->
<typeAliases>
<typeAlias type="com.it.domain.User" alias="user"></typeAlias>
</typeAliases>
<!--注册类型自定义转换器-->
<typeHandlers>
<typeHandler handler="com.it.handler.MyDateTypeHandler"></typeHandler>
</typeHandlers>
<!--配置分页插件-->
<plugins>
<!-- 注意:分页助手的插件 配置在通用馆mapper之前 -->
<plugin interceptor="com.github.pagehelper.PageHelper">
<!-- 指定方言 -->
<property name="dialect" value="mysql"/>
</plugin>
<!--<plugin interceptor="com.github.pagehelper.PageHelper">
<!– 指定方言 –>
<property name="dialect" value="mysql"/>
</plugin>-->
</plugins>
<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.user}"/>
<property name="password" value="${jdbc.password}"/>
</dataSource>
</environment>
</environments>
<!-- 加载UserMapper.xml配置文件-->
<mappers>
<mapper resource="com/it/mapper/UserMapper.xml"/>
</mappers>
</configuration>
UserMapper接口
public interface UserMapper {
List<User> findAll();
void add(User user);
}
UserMapper.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.it.mapper.UserMapper">
<!--查询数据-->
<select id="findAll" resultType="user">
select * from user
</select>
<!--添加数据-->
<insert id="add" parameterType="user">
insert into user values(#{id},#{username},#{password},#{birthday})
</insert>
<!--修改数据-->
<update id="update" parameterType="user">
update user set username=#{username},password=#{password} where id=#{id}
</update>
<!--删除数据-->
<delete id="delete" parameterType="int">
delete from user where id=#{id}
</delete>
</mapper>
测试
@Test
public void test1() throws IOException {
//加载核心配置文件
InputStream resourceAsStream = Resources.getResourceAsStream("sqlMapConfig.xml");
//获得sqlSession工厂对象
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);
//获得sqlSession对象
SqlSession sqlSession = sqlSessionFactory.openSession();
//执行sql语句
List<User> userList = sqlSession.selectList("com.it.mapper.UserMapper.findAll");
//打印结果
System.out.println(userList);
//释放资源
sqlSession.close();
}