创建MyBatis基础框架和测试
2017-06-30 17:39
288 查看
1项目基础架构图
2.maven导入基础jar包
<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>3.1.13</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.3.0</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.12</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.12</version> </dependency>
3创建实体类和方法接口
public class User { private int id; private String username; private String age; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getAge() { return age; } public void setAge(String age) { this.age = age; } }
public interface IUserDao { //获取所有信息 public List<User> getAllUsers(); //根据ID获取信息 public User getOneUser(int id); public User getUserResultMap(int id);
}
4.创建config.properties
config.username=root config.password=187901 config.driver=com.mysql.jdbc.Driver config.url=jdbc:mysql://localhost:3306/Frist
5创建log4j.properties
### 设置###log4j.rootLogger = debug,stdout,D,E### 输出信息到控制抬 ###log4j.appender.stdout = org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.Target = System.outlog4j.appender.stdout.layout = org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n### 输出DEBUG 级别以上的日志到=E://logs/error.log ###log4j.appender.D = org.apache.log4j.DailyRollingFileAppenderlog4j.appender.D.File = C://Users/admin/Desktop/New/Y2/MyBatis/debug.loglog4j.appender.D.Append = truelog4j.appender.D.Threshold = DEBUGlog4j.appender.D.layout = org.apache.log4j.PatternLayoutlog4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n### 输出ERROR 级别以上的日志到=E://logs/error.log ###log4j.appender.E = org.apache.log4j.DailyRollingFileAppenderlog4j.appender.E.File =C://Users/admin/Desktop/New/Y2/MyBatis/error.loglog4j.appender.E.Append = truelog4j.appender.E.Threshold = ERRORlog4j.appender.E.layout = org.apache.log4j.PatternLayoutlog4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ]
6核心配置文件(MyBatis-config.xml)
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration><!--根节点--><!--导入config文件--><properties resource="config.properties"></properties><!--别名的设定--><typeAliases><!--用你指定的该包中的简单类名作为别名 Dept Emp Order UserInfo OrderDetail--><package name="cn.mbb.Entity"></package><!-- <typeAlias type="cn.happy.entity.Dept" alias="Dept"></typeAlias>--></typeAliases><environments default="development"> <!--环境--><environment id="development"><transactionManager type="JDBC"/><!--事务管理机制:JDBC|Managed--><dataSource type="POOLED"> <!--UNPooled,JNDI--><property name="driver" value="${config.driver}"/><property name="url" value="${config.url}"/><property name="username" value="${config.username}"/><property name="password" value="${config.password}"/></dataSource></environment></environments><mappers><mapper resource="User.xml"/></mappers></configuration>
7创建SQL映射文件(User.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="cn.mbb.Dao.IUserDao"><!--简单的查询--><select id="getAllUsers" resultType="User">SELECT * FROM user_info</select><!--按条件查询--><select id="getOneUser" parameterType="int" resultType="User">select * from user_info WHERE id=#{id}</select><!--按条件查询使用resultMap--><select id="getUserResultMap" parameterType="int" resultMap="userResultMap">select * from user_info WHERE id=#{id}</select><resultMap id="userResultMap" type="User"><id property="id" column="id"></id><result property="username" column="username"></result></resultMap></mapper>
8编写测试类
package cn.mbb.Dao;import cn.mbb.Entity.User;import com.sun.org.apache.bcel.internal.generic.IUSHR;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.Test;import java.io.FileReader;import java.io.IOException;import java.io.InputStream;import java.util.List;/*** Created by admin on 2017/6/30.*/public class UserTest {//01.带条件查询 resultMap的使用@Testpublic void testGetOneDeptResultMap(){System.out.println("===========================");String path="mybatis-config.xml";try {InputStream is= Resources.getResourceAsStream(path);SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(is);SqlSession session = factory.openSession();IUserDao dao = session.getMapper(IUserDao.class);User user = dao.getUserResultMap(1);System.out.println(user.getUsername());} catch (IOException e) {e.printStackTrace();}}@Testpublic void testOneUser(){System.out.println("===========================");String path="mybatis-config.xml";try {InputStream is= Resources.getResourceAsStream(path);SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(is);SqlSession session = factory.openSession();IUserDao dao = session.getMapper(IUserDao.class);User user= dao.getOneUser(1);System.out.println(user.getUsername());} catch (IOException e) {e.printStackTrace();}}@Testpublic void testall() throws IOException {//读取myba-config.xml文件信息String path="mybatis-config.xml";InputStream is= Resources.getResourceAsStream(path);//构建sqlSessionFactory对象SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);//创建SQLSession对象SqlSession sqlSession = factory.openSession();List<User> list = sqlSession.selectList("cn.mbb.Dao.IUserDao.getAllUsers");4000for (User user:list) {System.out.println(user.getUsername());}}}
相关文章推荐
- 2018_03_08 搭建基础mybatis框架,以及使用junit测试crud功能
- Moq测试基础说谈(四)——Mock类,创建对象,实用工厂
- 【Ruby+Watir测试框架系列讲座 1】基础环境搭建
- java基础之junit测试框架
- [找程序员代写推荐]myBatis 基础测试 增 删 改 查 用过hibrenate 之后,感觉很好理解
- [程序代写推荐]myBatis 基础测试 增 删 改 查 用过hibrenate 之后,感觉很好理解
- selenium进阶之基础--web自动测试框架(ant+junit+selenium)
- myBatis 基础测试 表关联关系配置 集合 测试
- 黑马程序员----JAVA基础之junit测试框架
- 以Python为基础的REST(JSON为交换数据)接口的测试框架设计(三)-JSON的修改的难点
- [找程序员代写推荐]myBatis 基础测试 表关联关系配置 集合 测试
- yii 快速建立一个程序 创建基础框架
- 五十六、基础框架(十四)创建 地址簿-4
- 五十五、基础框架(十三)创建 地址簿-3
- 五十四、基础框架(十二)创建 地址簿-2
- 测试基础1-测试理论框架图
- (黑马程序员)Java基础加强(第一天)4.Junit测试框架
- 五十七、基础框架(十五)创建 地址簿-5
- 自动化的testComplete测试框架和测试基础1
- myBatis 基础测试 表关联关系配置 集合 测试