首页 > 数据库 >3_sqlSession完成DML所有操作

3_sqlSession完成DML所有操作

时间:2023-03-12 14:01:38浏览次数:29  
标签:int org DML sqlSession emp import 操作 public


 Mapper映射文件

 

<?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="EmpMapper3">
<!--
增删方法的返回值类型都是int
resultType就无需指定了
insert update delete 标签中没有resultType
但是仍然可以有paramaterType
-->
<!-- 增加方法
public int addEmp(Emp emp);
-->
<insert id="addEmp" parameterType="emp">
insert into emp values(#{empno},#{ename},#{job},#{mgr},#{hiredate},#{sal},#{comm},#{deptno})
</insert>
<!--修改
根据工号修改员工姓名
public int updateEmp(Emp emp);
-->
<update id="updateEmp" parameterType="emp">
update emp set ename = #{ename} where empno=#{empno}
</update>
<!-- 删除
删除大于给定工号的员工信息
public int deleteEmp(int empno)
-->
<delete id="deleteEmp" parameterType="int">
delete from emp where empno >= #{empno}
</delete>
</mapper>

3_sqlSession完成DML所有操作_java

3_sqlSession完成DML所有操作_apache_02

 

测试代码

package com.msb.test;
import com.msb.pojo.Emp;
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.After;
import org.junit.Before;
import org.junit.Test;
import java.io.IOException;
import java.io.InputStream;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @Author: Ma HaiYang
* @Description: MircoMessage:Mark_7001
*/
public class Test4 {
private SqlSession sqlSession;
@Before
public void init(){
SqlSessionFactoryBuilder ssfb =new SqlSessionFactoryBuilder();
InputStream resourceAsStream = null;
try {
resourceAsStream = Resources.getResourceAsStream("sqlMapConfig.xml");
} catch (IOException e) {
e.printStackTrace();
}
SqlSessionFactory factory=ssfb.build(resourceAsStream) ;
sqlSession=factory.openSession(true);
}
@Test
public void testInsert(){
Emp emp =new Emp(null,"按住啦Baby","SALESMAN",7839,new Date(),3100.0, 200.0,10 );
int rows = sqlSession.insert("addEmp", emp);
System.out.println(rows);
// 手动提交事务
//sqlSession.commit();
/*增删改 要提交事务
* sqlSession.commit();手动提交事务
* sqlSession=factory.openSession(true); 设置事务自动提交
* */
}
@Test
public void testUpdate(){
Emp emp =new Emp( );
emp.setEname("晓明");
emp.setEmpno(7937);
int rows = sqlSession.update("updateEmp", emp);
System.out.println(rows);
}
@Test
public void testDelete(){
int rows = sqlSession.delete("deleteEmp", 7936);
System.out.println(rows);
}
@After
public void release(){
// 关闭SQLSession
sqlSession.close();
}
}

3_sqlSession完成DML所有操作_apache_03

3_sqlSession完成DML所有操作_apache_04

 


标签:int,org,DML,sqlSession,emp,import,操作,public
From: https://blog.51cto.com/u_15975228/6115786

相关文章

  • 3_sqlSession完成DML所有操作
    ​ Mapper映射文件 <?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEmapperPUBLIC"-//mybatis.org//DTDMapper3.0//EN""http://mybatis.o......
  • 3_sqlSession完成DML所有操作
    ​ Mapper映射文件 <?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEmapperPUBLIC"-//mybatis.org//DTDMapper3.0//EN""http://mybatis.o......
  • Linux操作系统CentOS 7忘记root密码解决办法
    root用户忘记密码解决办法重启系统输入命令:reboot,并在重启的前三秒内按向下的按键,目的是为为了不让它进入系统,而是停留在开机页面,如下图所示编辑文档在开机页面按方向......
  • python - 操作sqlite
    1.连接数据库和创建游标importsqlite3conn=sqlite3.connect("test.db")cur=conn.cursor()2.建表sql="CREATETABLEtest_table(idINTEGERPRIMARYKEY,nam......
  • 1_sqlSession查询的三种方式
    ​ SqlSession对象本身的API中就有三个查询方法,分别能够实现如下查询方式1返回单个对象selectOne2返回对象List集合selectList3返回对象Map集合selectMap接下来......
  • 3、Git常规操作
    常规操作https://www.cnblogs.com/ydbk/p/14257920.html克隆操作gitclonehttp://git.oschina.net/yiibai/sample.git[自定义目录名称]#如果不自定义,就会默认创建......
  • appium的部分操作汇总
    ##安装[Appium自动化环境搭建保姆级教程-掘金](https://juejin.cn/post/7069774917641699364)[技术好文|百分百成功搭建appium自动化测试详细教程](https://mp.weix......
  • 对象操作流_序列化和反序列化
    publicstaticvoidmain(String[]args)throwsIOException,ClassNotFoundException{//对象如果想操作流,这个对象的类需要实现Serializable接口/......
  • [操作系统] - 进程关系之同步互斥
    同步与互斥临界区&临界资源临界资源(CriticalResouce):一次仅允许一个进程使用的共享资源临界区(criticalsection):每个进程中访问临界资源的那段代码临界区进入......
  • [操作系统] - 进程切换&进程控制
    2.1.6进程切换名称解析进程的上下文(Context)当一个进程在执行时,CPU的所有寄存器的值、进程的状态以及堆栈中的内容被称为进程的上下文Context进程的切换(switch......