mybatis3.4测试CRUD
导入包
H:\jar\jdbc\mysql-connector-java-5.1.13-bin.jar
H:\jar\mybatis\mybatis-3.4.1\mybatis-3.4.1.jar
H:\jar\Junit\junit-4.7.jar
结构
package com.wym.model; import java.util.Date; public class Student { private String stuname;
private String stusex;
private Date birthday;
private String stuaddress;
private String stuid; public String getStuid() {
return stuid;
}
public void setStuid(String stuid) {
this.stuid = stuid;
}
public String getStuname() {
return stuname;
}
public void setStuname(String stuname) {
this.stuname = stuname;
}
public String getStusex() {
return stusex;
}
public void setStusex(String stusex) {
this.stusex = stusex;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
public String getStuaddress() {
return stuaddress;
}
public void setStuaddress(String stuaddress) {
this.stuaddress = stuaddress;
} @Override
public String toString() {
return "Student [stuid=" + stuid + ", stuname=" + stuname + ", stusex="
+ stusex + ", birthday=" + birthday + ", stuaddress="
+ stuaddress + "]";
} }
Student
package com.wym.test; import java.io.InputStream;
import java.util.List;
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 com.wym.model.Student; public class Mybatisf { private SqlSessionFactory sqlSessionFactory; @Before
public void getsqlSessionFactory() throws Exception {
String resource = "SqlMapConfig.xml";
InputStream inputStream = null;
inputStream = Resources.getResourceAsStream(resource);
if (sqlSessionFactory == null)
sqlSessionFactory = new SqlSessionFactoryBuilder()
.build(inputStream); } @Test
public void insertstudent() {
SqlSession sqlSession; sqlSession = sqlSessionFactory.openSession();
Student student = new Student();
student.setStuid("wl4811");
student.setStuname("武2"); System.out.println(sqlSession.insert("test.insertstudent", student));
sqlSession.commit(); System.out.println(student.getStuid()); sqlSession.close(); } @Test
public void deletestudentbyid() {
SqlSession sqlSession; sqlSession = sqlSessionFactory.openSession(); System.out.println(sqlSession
.delete("test.deletestudentbyid", "wl1214")); sqlSession.commit(); sqlSession.close(); } @Test
public void updatestudent() {
SqlSession sqlSession; sqlSession = sqlSessionFactory.openSession(); Student student = new Student();
student.setStuid("wl2458");
student.setStuname("吴晏子");
student.setStuaddress("湖北"); System.out.println(sqlSession.update("test.updatestudent", student)); sqlSession.close(); } @Test
public void findstudentbystuid() {
SqlSession sqlSession; sqlSession = sqlSessionFactory.openSession();
Student student = sqlSession.selectOne("test.findstudentbystuid",
"wl1213");
System.out.println(student); sqlSession.close(); } @Test
public void findstudentbystusex() {
SqlSession sqlSession; sqlSession = sqlSessionFactory.openSession();
List<Student> ls = sqlSession.selectList("test.findstudentbystusex",
"M"); System.out.println(ls); sqlSession.close(); } }
Mybatisf
jdbc.properties
jdbc.classname =com.mysql.jdbc.Driver
jdbc.url =jdbc:mysql://localhost:3306/sudent
jdbc.username=root
jdbc.password=root
### 设置Logger输出级别和输出目的地 ###
log4j.rootLogger=debug,stdout,logfile ### 把日志信息输出到控制台 ###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
#log4j.appender.stdout.Target=System.err
log4j.appender.stdout.layout=org.apache.log4j.SimpleLayout ### 把日志信息输出到文件:jbit.log ###
log4j.appender.logfile=org.apache.log4j.FileAppender
log4j.appender.logfile.File=jbit.log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %F %p %m%n ###显示SQL语句部分
log4j.logger.com.ibatis=DEBUG
log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=DEBUG
log4j.logger.com.ibatis.common.jdbc.ScriptRunner=DEBUG
log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG
log4j.properties
<?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="test">
<select id="insertstudent">
insert into student(stuid,stuname,stusex,birthday,stuaddress ) VALUES(#{stuid},#{stuname},#{stusex},#{birthday},#{stuaddress})
</select> <select id="deletestudentbyid" parameterType="com.wym.model.Student" resultType="int" >
delete from student where stuid=#{stuid}
</select> <select id="updatestudent" >
update student set stuname=#{stuname},stusex=#{stusex},birthday=#{birthday},stuaddress=#{stuaddress} where stuid=#{stuid}
</select> <select id="findstudentbystuid" parameterType="String" resultType="com.wym.model.Student" >
select * from student where stuid=#{stuid}
</select> <select id="findstudentbystusex" parameterType="String" resultType="com.wym.model.Student" >
select * from student where stusex=#{stusex}
</select> </mapper>
student.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>
<properties resource="jdbc.properties"> </properties> <settings>
<setting name="logImpl" value="LOG4J"/>
</settings> <environments default="development">
<environment id="development"> <transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="${jdbc.classname}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</dataSource>
</environment>
</environments> <mappers> <mapper resource="sqlmap/Student.xml"/> </mappers> </configuration>
SqlMapConfig.xml
-- ----------------------------
-- Table structure for student
-- ----------------------------
DROP TABLE IF EXISTS `student`;
CREATE TABLE `student` (
`stuid` varchar(10) NOT NULL COMMENT '学号',
`stuname` varchar(20) DEFAULT NULL COMMENT '姓名',
`stusex` char(1) DEFAULT NULL COMMENT '性别',
`birthday` date DEFAULT NULL COMMENT '生日',
`stuaddress` varchar(30) DEFAULT NULL COMMENT '住址',
PRIMARY KEY (`stuid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- ----------------------------
-- Records of student
-- ----------------------------
INSERT INTO `student` VALUES ('wl1213', '茂', 'M', '1991-10-05', '湖南');
INSERT INTO `student` VALUES ('wl1216', '元强', 'M', '1991-10-07', '湖南');
INSERT INTO `student` VALUES ('wl2458', '晏子', null, null, '湖北');
INSERT INTO `student` VALUES ('wl2811', '张山', null, null, null);
INSERT INTO `student` VALUES ('wl4811', '李武', null, null, null);
INSERT INTO `student` VALUES ('wl9811', '默默', null, null, null);
db.sql
mybatis3.4测试CRUD的更多相关文章
- ORM for Net主流框架汇总与效率测试
框架已经被越来越多的人所关注与使用了,今天我们就来研究一下net方面的几个主流ORM框架,以及它们的效率测试(可能会有遗漏欢迎大家讨论). ORM框架:Object/Relation Mapping( ...
- 【MyBatis】MyBatis实现CRUD操作
1.实现基本CRUD功能 使用MyBatis对数据完整的操作,也就是CRUD功能的实现.根据之前的内容,要想实现CRUD,只需要进行映射文件的配置. 范例:修改EmpMapper.xml文件,实现CR ...
- 1 JPA入门----项目搭建以及CRUD
maven搭建JPA开发环境 1 依赖的maven pom文件 主要有hibernate-core.hibernate-entitymanager.javax-persistence.mysq ...
- 【经验分享】Mongodb操作类实现CRUD
一.背景 公司项目中在做数据存储时使用到Mongodb,所以想着将Mongodb的操作封装后可供项目中其他成员方便使用. 附上Mongodb的下载地址: 下载 1.Mongodb类 此类主要是用来构造 ...
- MyBatis基础-CRUD
一.mybatis 环境搭建步骤 第一步:创建 maven 工程第二步:导入坐标第三步:编写必要代码(实体类和持久层接口)第四步:编写 SqlMapConfig.xml第五步:编写映射配置文件第六步 ...
- mybatis 学习视频总结记录
学习mybaits简单增删改查例子记录 此整理是学习视频后的视频内容整理,后半段还没有整理 网易云课堂 SSM高级整合视频 地址 : http://study.163.com/course/cours ...
- 13-MyBatis03(逆向工程)
MyBatis逆向工程 1.导入jar包 <dependency> <groupId>org.mybatis</groupId> <artifactId> ...
- Net环境下比较流行的ORM框架对比
个人感觉在Java领域大型开发都离不了ORM的身影,所谓的SSH就是Spring+Struts+Hibernate,除了在学习基础知识的时候被告知可以使用JDBC操作数据库之外,大量的书籍中都是讲述使 ...
- [译]Testing Node.js With Mocha and Chai
原文: http://mherman.org/blog/2015/09/10/testing-node-js-with-mocha-and-chai/#.ViO8oBArIlJ 为什么要测试? 在此之 ...
随机推荐
- Unity3D专访——真正的面试
本来想写一系列的,一半的攻击,现在面试的水.人之奸,用大哥的话说,要走新手是做螺丝钉和抹布用的.还有一半是对出出学校的或者是自废武功转3d的朋友们提供一个比較有价值的參考. 只是我时间实在仓促.没有保 ...
- 转载Worktile 技术架构概要
Worktile 技术架构概要 其实早就该写这篇博客了,一直说忙于工作没有时间,其实时间挤挤总会有的,可能就是因为懒吧!从2013年11月一直拖到现在,今天就简单谈谈 Worktile 的技术架构吧 ...
- JS判断Array数组中是否包含指定元素
1.调用方式: var arr=["a","b"]; alert(arr.in_array("a")) 2.JS判断数组是否包含指定元素方法 ...
- 复习一下SpringMVC的工作原理
上面的是springMVC的工作原理图: 1.客户端发出一个http请求给web服务器,web服务器对http请求进行解析,如果匹配DispatcherServlet的请求映射路径(在web.xml中 ...
- jQuery EasyUI API - Grid - DataGrid [原创汉化官方API]
最近在学习jQuery EasyUI,发现中文的文档好少,部分文档不错但它是鸟语的,为了大家也为了自己学习吧,汉化做一下笔记. 有没有说清楚的,或者翻译不正确的地方还请大家谅解指出.. 由于工作时间原 ...
- LibVLC audio controls
原文 http://www.videolan.org/developers/vlc/doc/doxygen/html/group__libvlc__audio.html LibVLC audio co ...
- The Native POSIX Thread Library for Linux - 设计文档
nptl-design
- .net的页面在大并发下出现503错误
.net的页面在大并发下偶尔出现503错误 我们开发了一个回调页面,由一个工具负责调用,由于压力非常大,回调页面通过6台服务器负载均衡的: 最近业务系统又再次扩容,回调页面压力成倍增加,在高峰时间段偶 ...
- C#将XML转换成JSON转换XML
原文:C#将XML转换成JSON转换XML using System; using System.Collections.Generic; using System.Linq; using Syste ...
- SignalR的服务器广播
可以试试 https://github.com/angular-ui/bootstrap 这个框架啊 [渣译文] SignalR 2.0 系列:SignalR的服务器广播 2014-03-13 09: ...