mysql接口用例增删改查_Mybatis通过接口的方式实现增删改查
导入jar包
【mybatis】
【oracle】
生成数据库
1、添加Mybatis的配置文件mybatis-config.xml
在src目录下创建一个mybatis-config.xml文件,如下图所示:
/p>
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
db.properties如下:
jdbc.username=root
jdbc.password=123
jdbc.url=jdbc:oracle:thin:@localhost:1521:orcl
jdbc.driverClass=oracle.jdbc.OracleDriver
2、定义表所对应的实体类,如下图所示:
packagecom.model;//Generated 2017-4-19 10:19:42 by Hibernate Tools 5.2.0.CR1
importjava.math.BigDecimal;importorg.apache.ibatis.type.Alias;/*** TestId generated by hbm2java*/
public classTestId {privateBigDecimal id;privateString username;privateString password;publicTestId() {
}publicTestId(BigDecimal id, String username, String password) {this.id =id;this.username =username;this.password =password;
}publicBigDecimal getId() {return this.id;
}public voidsetId(BigDecimal id) {this.id =id;
}publicString getUsername() {return this.username;
}public voidsetUsername(String username) {this.username =username;
}publicString getPassword() {return this.password;
}public voidsetPassword(String password) {this.password =password;
}public booleanequals(Object other) {if ((this ==other))return true;if ((other == null))return false;if (!(other instanceofTestId))return false;
TestId castOther=(TestId) other;return ((this.getId() ==castOther.getId())|| (this.getId() != null && castOther.getId() != null && this.getId().equals(castOther.getId())))&& ((this.getUsername() == castOther.getUsername()) || (this.getUsername() != null
&& castOther.getUsername() != null && this.getUsername().equals(castOther.getUsername())))&& ((this.getPassword() == castOther.getPassword()) || (this.getPassword() != null
&& castOther.getPassword() != null && this.getPassword().equals(castOther.getPassword())));
}public inthashCode() {int result = 17;
result= 37 * result + (getId() == null ? 0 : this.getId().hashCode());
result= 37 * result + (getUsername() == null ? 0 : this.getUsername().hashCode());
result= 37 * result + (getPassword() == null ? 0 : this.getPassword().hashCode());returnresult;
}
@OverridepublicString toString() {return "TestId [id=" + id + ", username=" + username + ", password=" + password + "]";
}
}
packagecom.model;importjava.util.Date;public classTestInfo {privateInteger ids;privateTestId testId;privateString address;privateDate birthday;publicInteger getIds() {returnids;
}public voidsetIds(Integer ids) {this.ids =ids;
}publicTestId getTestId() {returntestId;
}public voidsetTestId(TestId testId) {this.testId =testId;
}publicString getAddress() {returnaddress;
}public voidsetAddress(String address) {this.address =address;
}publicDate getBirthday() {returnbirthday;
}public voidsetBirthday(Date birthday) {this.birthday =birthday;
}publicTestInfo(Integer ids, TestId testId, String address, Date birthday) {super();this.ids =ids;this.testId =testId;this.address =address;this.birthday =birthday;
}publicTestInfo() {super();
}
@OverridepublicString toString() {return "TestInfo [ids=" + ids + ", testId=" + testId + ", address=" + address + ", birthday=" + birthday + "]";
}
}
3、定义操作test表的sql映射文件
UserInfoMapper.java接口如下:
packagecom.dao;importjava.util.List;importcom.model.TestInfo;public interfaceUserInfoMapper {public Listselect();
}
UserMapper.java接口如下:
packagecom.dao;importjava.util.List;importjava.util.Map;importcom.model.TestId;public interfaceUserMapper {publicInteger add(TestId ti);publicInteger delete(Integer id);publicInteger update(TestId ti);publicTestId select(Integer id);public List selectlist(Mapmap);
}
UserInfoMapper.xml如下:
/p>
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
select * from testinfo ti left join test t on ti.id=t.id
UserMapper.xml如下:
/p>
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
insert into test values(sq_mybatis.nextval,#{username},#{password})
delete test t where t.id=#{id}
update test t set t.username=#{username},t.password=#{password} where t.id=#{id}
select * from test t where t.id=#{id}
select * from test t where t.username like #{username} and t.password like #{password}
4、创建一个MybatisUtil的和Junit的类,来进行测试
MybatisUtil.java如下:
packagecom.util;importjava.io.IOException;importjava.io.InputStream;importorg.apache.ibatis.io.Resources;importorg.apache.ibatis.session.SqlSession;importorg.apache.ibatis.session.SqlSessionFactory;importorg.apache.ibatis.session.SqlSessionFactoryBuilder;/*** mybatis工具类
*@authorAdministrator
**/
public classMybatisUtil {private staticSqlSessionFactory ssf;private staticSqlSession ss;/*** 获取mybatis核心sqlsessionfactory
*@return
*/
private staticSqlSessionFactory getSqlSessionFctory(){
InputStream it= null;try{
it= Resources.getResourceAsStream("mybatis-config.xml");
ssf= newSqlSessionFactoryBuilder().build(it);
ss=ssf.openSession();
}catch(IOException e) {//TODO Auto-generated catch block
e.printStackTrace();
}returnssf;
}/*** 获取sqlsession
*@return
*/
public staticSqlSession getSqlSession(){
ss=getSqlSessionFctory().openSession();returnss;
}public static voidmain(String[] args){
System.out.println(getSqlSession());
}
}
Junit.java如下:
packagecom.util;import static org.junit.Assert.*;importjava.math.BigDecimal;importjava.util.HashMap;importjava.util.List;importjava.util.Map;importorg.apache.ibatis.session.SqlSession;importorg.junit.After;importorg.junit.Before;importorg.junit.Test;importcom.dao.UserMapper;importcom.model.TestId;public classJunit {privateSqlSession ss;privateUserMapper um;
@Beforepublic void setUp() throwsException {
ss=MybatisUtil.getSqlSession();
um=ss.getMapper(UserMapper.class);
}
@Afterpublic void tearDown() throwsException {
ss.commit();
ss.close();
}public voidtest() {
TestId ti= newTestId();
ti.setUsername("张张柳");
ti.setPassword("443221");//int i =ss.insert("com.dao.UserMapper.add",ti);
int i=um.add(ti);
System.out.println(i);
}public voidtest1(){int i = um.delete(401);
System.out.println(i);
}public voidtest2(){
TestId ti= newTestId();
ti.setId(new BigDecimal(441));
ti.setUsername("张张柳2");
ti.setPassword("443221");
um.update(ti);
}public voidtest3(){
TestId ti=um.select(441);
System.out.println(ti);
}
@Testpublic voidtes4(){
Map map = new HashMap();
map.put("username", "张%");
map.put("password", "%2%");
List list =um.selectlist(map);for(TestId ti:list){
System.out.println(ti);
}
}
}
Junit2.java如下:
packagecom.util;import static org.junit.Assert.*;importjava.math.BigDecimal;importjava.util.HashMap;importjava.util.List;importjava.util.Map;importorg.apache.ibatis.session.SqlSession;importorg.junit.After;importorg.junit.Before;importorg.junit.Test;importcom.dao.UserInfoMapper;importcom.dao.UserMapper;importcom.model.TestId;importcom.model.TestInfo;public classJunit2 {privateSqlSession ss;privateUserInfoMapper um;
@Beforepublic void setUp() throwsException {
ss=MybatisUtil.getSqlSession();
um=ss.getMapper(UserInfoMapper.class);
}
@Afterpublic void tearDown() throwsException {
ss.commit();
ss.close();
}
@Testpublic voidtest() {
List list =um.select();for(TestInfo ti :list){
System.out.println(ti);
}
}
}
mysql接口用例增删改查_Mybatis通过接口的方式实现增删改查相关推荐
- 【全栈接口测试进阶系列教程】精通api接口测试,接口分类,接口架构,http,webservice,dubbo接口协议,接口流程,接口工具,cookie,session,token接口鉴权原理以及实战
目录 一,[什么是接口测试?为什么要作接口测试] 1.接口的作用 2.为什么要做接口测试 3.接口都有哪些类型? 二,[接口测试的分类] 接口的分类: http和webservice接口区别: 三,[ ...
- 无需编程,基于甲骨文oracle数据库零代码生成CRUD增删改查RESTful API接口
无需编程,基于甲骨文oracle数据库零代码生成CRUD增删改查RESTful API接口 回顾 通过之前一篇文章 无需编程,基于PostgreSQL零代码生成CRUD增删改查RESTful API接 ...
- 无需编程,基于微软mssql数据库零代码生成CRUD增删改查RESTful API接口
无需编程,基于微软mssql数据库零代码生成CRUD增删改查RESTful API接口 回顾 通过之前一篇文章 无需编程,基于甲骨文oracle数据库零代码生成CRUD增删改查RESTful API接 ...
- servlet+javabean+jdbc+mysql基于MVC模式的课件管理系统,有三个表的增删改查和课件搜索、课件上传、课件下载功能, 具体功能请看界面上的导航条
源码支持在idea.eclipse.myeclipse运行,数据库采用MySQL数据库,项目采用mvc设计模式开发,页面采用jsp+html+css+js完成. servlet+javabean+jd ...
- python:pyqt5+mysql=学生信息管理系统(图文并茂,超详细, 附源码)——增删改查篇
python:pyqt5+mysql=学生信息管理系统(图文并茂,超详细, 附源码)--增删改查篇 前言 一.主界面的样式 二.学生信息的增,删,改,查 1.增加学生信息 2.删除学生信息 3.更改学 ...
- 02.Mybatis的动态代理方式实现增删改查
动态代理的方式实现增删改查: 通过约定的方式定位sql语句 约定 > 配置文件 > 硬编码 约定的目标是省略掉通过硬编码的方式定位sql的代码,通过接口直接定位出sql语句,以下代码为通过 ...
- Spring Boot入门系列(十八)整合mybatis,使用注解的方式实现增删改查
之前介绍了Spring Boot 整合mybatis 使用xml配置的方式实现增删改查,还介绍了自定义mapper 实现复杂多表关联查询.虽然目前 mybatis 使用xml 配置的方式 已经极大减轻 ...
- python增删改查人名管理_python3字典列表的增删改查(名片管理系统函数版)
1.列表的增删改查 增加:有三种添加方式(append.insert.extend) #append:把添加的内容直接添加到列表的末尾 a=[1,2,3] a.append('abc') print( ...
- mybatis mysql自增主键_mybatis 自增主键配置
mybatis 自增主键配置 mybatis自增主键配置(?) mybatis进行插入操作时,如果表的主键是自增的,针对不同的数据库相应的操作也不同.基本上经常会 遇到的就是 Oracle Seque ...
最新文章
- linux内核 cpu_die,解密“内核”,和“cpu”又有啥关系?
- 部署JTBC2.0网上商城(apache+tomcat+mysql)
- 关于谷歌浏览器 点击元素便签出现外边框的情况解决办法
- html5标签及属性大全,HTML5 标签 和属性 列表.pdf
- linux之vim常见配置
- centos修改磁盘uuid_Centos更换损坏硬盘UUID改变导致系统不能正常启动处理
- HOJ 2678 Stars
- 合成视频以假乱真新高度!商汤科技、中科院、南洋理工大学联合提出当前最高清的语音驱动视频生成系统...
- iOS开发 - 抛出异常
- 快讯:2018 OOW Oracle技术大会PPT抢鲜下载
- scala递归求斐波那契数列
- python中path的用法_python中pathlib模块的基本用法与总结
- STM32MP157 Linux系统移植开发篇16:Linux内核音频驱动移植
- python 3.6 键盘打字练习 (简单)
- 用python画猫和老鼠_一个Python游戏:猫和老鼠
- 「面向信仰编程」Draven 专访:像写代码一样,用树形的结构写文章
- cassandra随机获取数据_国内哪些互联网公司使用了 Cassandra 数据库?
- 巴旦木即将成为农业的下一个“风口”河南巴旦木生态农业:值得期待
- ProE5.0塑胶产品结构设计实例知识视频教程
- 免费易混实词辨析456组(1)