导入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通过接口的方式实现增删改查相关推荐

  1. 【全栈接口测试进阶系列教程】精通api接口测试,接口分类,接口架构,http,webservice,dubbo接口协议,接口流程,接口工具,cookie,session,token接口鉴权原理以及实战

    目录 一,[什么是接口测试?为什么要作接口测试] 1.接口的作用 2.为什么要做接口测试 3.接口都有哪些类型? 二,[接口测试的分类] 接口的分类: http和webservice接口区别: 三,[ ...

  2. 无需编程,基于甲骨文oracle数据库零代码生成CRUD增删改查RESTful API接口

    无需编程,基于甲骨文oracle数据库零代码生成CRUD增删改查RESTful API接口 回顾 通过之前一篇文章 无需编程,基于PostgreSQL零代码生成CRUD增删改查RESTful API接 ...

  3. 无需编程,基于微软mssql数据库零代码生成CRUD增删改查RESTful API接口

    无需编程,基于微软mssql数据库零代码生成CRUD增删改查RESTful API接口 回顾 通过之前一篇文章 无需编程,基于甲骨文oracle数据库零代码生成CRUD增删改查RESTful API接 ...

  4. servlet+javabean+jdbc+mysql基于MVC模式的课件管理系统,有三个表的增删改查和课件搜索、课件上传、课件下载功能, 具体功能请看界面上的导航条

    源码支持在idea.eclipse.myeclipse运行,数据库采用MySQL数据库,项目采用mvc设计模式开发,页面采用jsp+html+css+js完成. servlet+javabean+jd ...

  5. python:pyqt5+mysql=学生信息管理系统(图文并茂,超详细, 附源码)——增删改查篇

    python:pyqt5+mysql=学生信息管理系统(图文并茂,超详细, 附源码)--增删改查篇 前言 一.主界面的样式 二.学生信息的增,删,改,查 1.增加学生信息 2.删除学生信息 3.更改学 ...

  6. 02.Mybatis的动态代理方式实现增删改查

    动态代理的方式实现增删改查: 通过约定的方式定位sql语句 约定 > 配置文件 > 硬编码 约定的目标是省略掉通过硬编码的方式定位sql的代码,通过接口直接定位出sql语句,以下代码为通过 ...

  7. Spring Boot入门系列(十八)整合mybatis,使用注解的方式实现增删改查

    之前介绍了Spring Boot 整合mybatis 使用xml配置的方式实现增删改查,还介绍了自定义mapper 实现复杂多表关联查询.虽然目前 mybatis 使用xml 配置的方式 已经极大减轻 ...

  8. python增删改查人名管理_python3字典列表的增删改查(名片管理系统函数版)

    1.列表的增删改查 增加:有三种添加方式(append.insert.extend) #append:把添加的内容直接添加到列表的末尾 a=[1,2,3] a.append('abc') print( ...

  9. mybatis mysql自增主键_mybatis 自增主键配置

    mybatis 自增主键配置 mybatis自增主键配置(?) mybatis进行插入操作时,如果表的主键是自增的,针对不同的数据库相应的操作也不同.基本上经常会 遇到的就是 Oracle Seque ...

最新文章

  1. linux内核 cpu_die,解密“内核”,和“cpu”又有啥关系?
  2. 部署JTBC2.0网上商城(apache+tomcat+mysql)
  3. 关于谷歌浏览器 点击元素便签出现外边框的情况解决办法
  4. html5标签及属性大全,HTML5 标签 和属性 列表.pdf
  5. linux之vim常见配置
  6. centos修改磁盘uuid_Centos更换损坏硬盘UUID改变导致系统不能正常启动处理
  7. HOJ 2678 Stars
  8. 合成视频以假乱真新高度!商汤科技、中科院、南洋理工大学联合提出当前最高清的语音驱动视频生成系统...
  9. iOS开发 - 抛出异常
  10. 快讯:2018 OOW Oracle技术大会PPT抢鲜下载
  11. scala递归求斐波那契数列
  12. python中path的用法_python中pathlib模块的基本用法与总结
  13. STM32MP157 Linux系统移植开发篇16:Linux内核音频驱动移植
  14. python 3.6 键盘打字练习 (简单)
  15. 用python画猫和老鼠_一个Python游戏:猫和老鼠
  16. 「面向信仰编程」Draven 专访:像写代码一样,用树形的结构写文章
  17. cassandra随机获取数据_国内哪些互联网公司使用了 Cassandra 数据库?
  18. 巴旦木即将成为农业的下一个“风口”河南巴旦木生态农业:值得期待
  19. ProE5.0塑胶产品结构设计实例知识视频教程
  20. 免费易混实词辨析456组(1)

热门文章

  1. 动态图片怎么裁剪?教你在线裁剪gif图片
  2. 【POI】Java+poi生成Excel(.xlsx)折线图
  3. 推荐算法项目征集啦!多重奖品助力开源实践创新!
  4. Linux磁盘修复e2fsck命令
  5. MySQL基础篇之七:多表查询
  6. Comparing the contribution of NBA draft picks(转)
  7. 华为linux指纹识别,华为手机指纹识别的十种玩法!你都掌握了没
  8. easyExcel添加水印
  9. 网络管理 —— 配置IP、修改主机名、网络测试工具
  10. 【杭州电子科技大学】考研初试复试资料分享