Java + MyBatis + MySql测试

先来看结构图

包引用
mybatis-3.3.1.jar
mysql-connector-java-5.1.38-bin.jar

Mybatis配置

mybatis-config.xml

<?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> <typeAliases> <typeAlias alias="TestEntity" type="com.yehun.entity.TestEntity" /> </typeAliases>
1<environments default="development"> 2 <environment id="development"> 3 <transactionManager type="JDBC" /> 4 <!-- connecting to Local MySql --> 5 <dataSource type="POOLED"> 6 <property name="driver" value="com.mysql.jdbc.Driver" /> 7 <property name="url" value="jdbc:mysql://localhost:3306/yh\_blog?charset=utf-8" /> 8 <property name="username" value="root" /> 9 <property name="password" value="root" /> 10 </dataSource> 11 </environment> 12</environments> 13<mappers> 14 <mapper resource="com/yehun/mapper/TestMapper.xml" /> 15</mappers>
</configuration>

MyBatisConnectionFactory.java

package com.yehun.mybatis;

import java.io.FileNotFoundException; import java.io.IOException; import java.io.Reader; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder;

public class MyBatisConnectionFactory {

1private static SqlSessionFactory sqlSessionFactory; 2 3static { 4 try { 5 String resource = "mybatis-config.xml"; 6 Reader reader = Resources.getResourceAsReader(resource); 7 if (sqlSessionFactory == null) { 8 sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader); 9 } 10 } 11 catch (FileNotFoundException fileNotFoundException) { 12 fileNotFoundException.printStackTrace(); 13 } 14 catch (IOException iOException) { 15 iOException.printStackTrace(); 16 } 17} 18 19 20public static SqlSessionFactory getSqlSessionFactory() { 21 return sqlSessionFactory; 22}

}

TestEntity.java

package com.yehun.entity;

public class TestEntity {

1public TestEntity() { } 2public TestEntity(String name) { 3 this.Name = name; 4} 5 6public TestEntity(int id, String name) { 7 this.Id = id; 8 this.Name = name; 9} 10 11private int Id; 12private String Name; 13public int getId() { 14 return Id; 15} 16public void setId(int id) { 17 Id = id; 18} 19public String getName() { 20 return Name; 21} 22public void setName(String name) { 23 Name = name; 24}

}

TestMapper.java

package com.yehun.mapper;

import java.util.List;

import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory;

import com.yehun.entity.TestEntity;

public class TestMapper {

1private SqlSessionFactory sqlSessionFactory = null; 2 3public TestMapper(SqlSessionFactory sqlSessionFactory) { 4 this.sqlSessionFactory = sqlSessionFactory; 5} 6 7public List<TestEntity> getListAll() { 8 List<TestEntity> list = null; 9 SqlSession session = sqlSessionFactory.openSession(); 10 try { 11 list = session.selectList("TestMapper.getListAll"); 12 } finally { 13 session.close(); 14 } 15 return list; 16} 17 18public TestEntity getTest(int id) { 19 TestEntity entity = null; 20 SqlSession session = sqlSessionFactory.openSession(); 21 try { 22 entity = session.selectOne("TestMapper.getTest", id); 23 } catch (Exception e) { 24 session.close(); 25 } 26 return entity; 27} 28 29public int insertAll(TestEntity entity) { 30 int row = 0; 31 SqlSession session = sqlSessionFactory.openSession(); 32 try { 33 row = session.insert("TestMapper.insert", entity); //故意模拟了一个错误, name字段不允许重复, 插入两次自然会报错 34 row = session.insert("TestMapper.insert", entity); 35 session.commit(); 36 } catch (Exception e) { 37 session.rollback(); 38 session.close(); 39 row = 0; 40 } 41 return row; 42} 43 44public int insert(TestEntity entity) { 45 int row = 0; 46 SqlSession session = sqlSessionFactory.openSession(); 47 try { 48 row = session.insert("TestMapper.insert", entity); 49 session.commit(); 50 } catch (Exception e) { 51 session.close(); 52 } 53 return row; 54} 55 56public int update(TestEntity entity) { 57 int row = 0; 58 SqlSession session = sqlSessionFactory.openSession(); 59 try { 60 row = session.update("TestMapper.update", entity); 61 session.commit(); 62 } catch (Exception e) { 63 session.close(); 64 } 65 return row; 66} 67 68public int delete(int id) { 69 int row = 0; 70 SqlSession session = sqlSessionFactory.openSession(); 71 try { 72 row = session.delete("TestMapper.delete", id); 73 session.commit(); 74 } catch (Exception e) { 75 session.close(); 76 } 77 return row; 78}

}

TestMapper.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="TestMapper">
1<resultMap id="result" type="TestEntity"> 2 <result property="id" column="Id" /> 3 <result property="name" column="Name" /> 4</resultMap> 5 6<select id="getListAll" resultMap="result"> 7 SELECT \* FROM test; 8</select> 9 10<select id="getTest" parameterType="int" resultMap="result"> 11 SELECT \* FROM test where id=#{id}; 12</select> 13 14<insert id="insert" parameterType="TestEntity"> 15 insert into test(name) value(#{Name}) 16</insert> 17 18<update id="update" parameterType="TestEntity"> 19 update test set name=#{name} where id=#{id} 20</update> 21 22<delete id="delete" parameterType="int"> 23 delete from test where id=#{id} 24</delete>
</mapper>

Main.java

package com.yehun.main;

import java.util.List;

import com.yehun.entity.TestEntity; import com.yehun.mapper.TestMapper; import com.yehun.mybatis.MyBatisConnectionFactory;

public class Main {

1public static void main(String\[\] args) { 2 TestMapper mapper = new TestMapper(MyBatisConnectionFactory.getSqlSessionFactory()); 3 int row = 0; 4 logger("事务--------------------"); 5 row = mapper.insertAll(new TestEntity("FFF")); //故意模拟了一个错误 6 logger("结果: " + row); 7 logger("添加--------------------"); 8 row = mapper.insert(new TestEntity("EEE")); 9 logger("结果: " + row); 10 logger("修改--------------------"); 11 row = mapper.update(new TestEntity(1, "BBB")); 12 logger("结果: " + row); 13 logger("删除--------------------"); 14 row = mapper.delete(15); 15 logger("结果: " + row); 16 logger("------------------------"); 17 18 19 List<TestEntity> list = mapper.getListAll(); 20 if(list != null) { 21 logger("查询列表-----------------"); 22 for (TestEntity entity : list) { 23 logger("Id:\\t" + entity.getId()); 24 logger("Name:\\t" + entity.getName()); 25 } 26 logger("------------------------"); 27 } 28 29 logger("查询单条-----------------"); 30 TestEntity entity = mapper.getTest(8); 31 if(entity != null) { 32 logger("Id:\\t" + entity.getId()); 33 logger("Name:\\t" + entity.getName()); 34 } else { 35 logger("null"); 36 } 37 logger("------------------------"); 38} 39 40public static void logger(Object object) { 41 System.out.println(object); 42}

}

//结果

事务--------------------
结果: 0
添加--------------------
结果: 0
修改--------------------
结果: 1
删除--------------------
结果: 0
------------------------
查询列表-----------------
Id: 16
Name: AAA
Id: 1
Name: BBB
Id: 19
Name: EEE
Id: 8
Name: test2
------------------------
查询单条-----------------
Id: 8
Name: test2
------------------------

Demo打包下载:http://share.weiyun.com/aa6215cc1b16baf156b72d1ef658724d (密码:V25S)

如分享过期,请评论通知博主,会在看到的第一时间更新链接

点赞
收藏

评论区

加载中...

相关推荐

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

svg图片转字符

1.进入 https://icomoon.io官网。2.点击按钮!(https://static.oschina.net/uploads/space/2017/1228/151443_BUtm_3040505.png)3.点击添加svg图片!(https://static.oschina.net/uploads/space/2017

java——20171121

!(http://a.51jsoft.com/uploads/default/original/1X/c542896b094a42a5653fb75adf6cdacd6e35d12e.png)!(https://static.oschina.net/uploads/space/2017/1121/210719_G80Z_3715033.png)

RedHat6安装git

1.通过yum安装git:         一、 先配置yum:          把redhat系统镜像加载到电脑光驱中(无光驱可用u盘),然后把该镜像配置到环境变量中        !(https://static.oschina.net/uploads/space/2017/0402/133025_syOd_3276682.pn

MySQL输入密码后闪退的解决方法

控制面板系统和安全管理工具服务mysql 开启!(https://static.oschina.net/uploads/space/2017/0423/191155_biFl_3285916.png)!(https://static.oschina.net/uploads

DevOps系列——公司Docker测试,打版,发布实战

1\.公司服务器结构图和发布流程介绍!(https://static.oschina.net/uploads/space/2017/0507/090547_t6Bu_1416844.png)2\.node工具镜像的制作有些东西在服务器上下载比较费劲,所有我们可

Java + MyBatis + MySql测试 - HelloWorld