mybatis篇
在学习一项技术前,看官网是再好不过的,mybatis官网挺详细的,而且还有中文版的。
mybatis官网
那么现在,我们开始搭建环境,其步骤官网都有
这里我先创建了一个父工程
其中在创建一个子工程,single-mybaits-use,因为后面还有整合spring的使用,引入mybatis相关的依赖,生成相关的Mapper接口和Mapper.xml文件
<dependencies>
<!-- mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.6</version>
</dependency>
<!-- mysql连接驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.12</version>
</dependency>
<!--单元测试-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13</version>
<scope>test</scope>
</dependency>
<!--日志-->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
</dependencies>
其中最重要的mybatis-config.xml配置文件,这也是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>
<settings>
<!-- 设置驼峰映射 -->
<setting name="mapUnderscoreToCamelCase" value="true"/>
<!-- 日志打印 -->
<setting name="logImpl" value="LOG4J"/>
</settings>
<typeAliases>
<!-- 开启别名 -->
<package name="single.mybatis.mapper.entity"/>
</typeAliases>
<typeHandlers>
<typeHandler handler="single.mybatis.mapper.typehandle.SexHandler"></typeHandler>
</typeHandlers>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://192.168.174.128:3306/mybatis?characterEncoding=utf-8&autoReconnect=true&allowMutiQueries=true&serverTimezone=Asia/Shanghai"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>
<!-- 映射器,需要注意的是,如果配置包扫描映射, -->
<!-- xml所放的位置一定也是resources下的single.mybatis.mapper.dao包下 -->
<!-- 如果不在这个位置会抛出BindingException异常 -->
<mappers>
<package name="single.mybatis.mapper.dao"/>
</mappers>
</configuration>
可以开始在编写junit单元测试了
package single.mybatis;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Before;
import org.junit.Test;
import single.mybatis.mapper.dao.MybatisUserinfoMapper;
import single.mybatis.mapper.entity.MybatisUserinfoModel;
import java.io.IOException;
import java.io.InputStream;
import java.util.Date;
import java.util.List;
public class MybatisTest {
SqlSessionFactory sqlSessionFactory;
@Before
public void bulidSqlSessionFactory() {
String resource = "mybatis-config.xml";
InputStream inputStream = null;
try {
inputStream = Resources.getResourceAsStream(resource);
} catch (IOException e) {
e.printStackTrace();
}
sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
}
@Test
public void selectList() {
SqlSession sqlSession = sqlSessionFactory.openSession();
MybatisUserinfoMapper userinfoMapper = sqlSession.getMapper(MybatisUserinfoMapper.class);
List<MybatisUserinfoModel> result = userinfoMapper.selectList();
System.out.println(result);
sqlSession.close();
}
}
可以看到最终测试的结果都查了出来。
网友评论