Mybatis04__CURD
1、实体类Employee.java
1 2 3 4 5 6 7 8 | // 省略set/get/toString方法 public class Employee { private Integer EmployeeId; private String EmployeeName; private String EmployeePassword; private String EmployeeAge; private Integer DepartmentId; } |
2、Mapper接口EmployeeMapper.java
1 2 3 4 5 6 7 8 9 10 11 12 13 | public interface EmployeeMapper { public abstract Employee queryEmployeeById(String id); public abstract List<Employee> queryEmployees(); public abstract void insertEmployeeById(Employee employee); public abstract void updateEmployee(Employee employee); public abstract void deleteEmployeeById(Employee employee); } |
3、jdbc.properties
1 2 3 4 | jdbc.driver=com.mysql.cj.jdbc.Driver jdbc.url=jdbc:mysql: //localhost:3306/mybatis?serverTimezone=UTC jdbc.username=root jdbc.password=root |
4、mybatis-conf.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | <?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= "mapUnderscoreToCamelCase" value= "true" /> </settings> <typeAliases> <!--com.mybatis.entity包下的所有实体类都开启别名--> < package name= "com.mybatis.entity" ></ package > </typeAliases> <environments default = "development" > <environment id= "development" > <!-- 配置事务管理,采用JDBC管理事务--> <transactionManager type= "JDBC" /> <dataSource type= "POOLED" > <property name= "driver" value= "${jdbc.driver}" /> <property name= "url" value= "${jdbc.url}" /> <property name= "username" value= "${jdbc.username}" /> <property name= "password" value= "${jdbc.password}" /> </dataSource> </environment> </environments> <!-- pojo的映射文件UserMapper引入到配入到配置文件中 --> <mappers> <!-- resource要写成路径 --> <mapper resource= "UserMapper.xml" /> // 引入EmployeeMapper.xml,通过全局配置文件找到XXXMapper.xml配置文件 <mapper resource= "EmployeeMapper.xml" /> </mappers> </configuration> |
5、EmployeeMapper.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | <?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" > <!--绑定EmployeeMapper接口--> <mapper namespace= "com.mybatis.dao.EmployeeMapper" > <!--绑定EmployeeMapper接口中insertEmployeeById方法--> <insert id= "insertEmployeeById" parameterType= "com.mybatis.entity.Employee" > INSERT INTO employee VALUES( null ,#{EmployeeName},#{EmployeePassword},#{EmployeeAge},#{DepartmentId}) </insert> <delete id= "deleteEmployeeById" parameterType= "com.mybatis.entity.Employee" > DELETE FROM employee WHERE EMPLOYEE_ID=#{EmployeeId} </delete> <update id= "updateEmployee" parameterType= "com.mybatis.entity.Employee" > UPDATE employee SET EMPLOYEE_NAME=#{EmployeeName},EMPLOYEE_PASSWORD=#{EmployeePassword},EMPLOYEE_AGE=#{EmployeeAge}, DEPARTMENT_ID=#{DepartmentId} WHERE EMPLOYEE_ID = #{EmployeeId} </update> <select id= "queryEmployeeById" parameterType= "java.lang.String" resultType= "com.mybatis.entity.Employee" > SELECT EMPLOYEE_ID,EMPLOYEE_NAME,EMPLOYEE_PASSWORD,EMPLOYEE_AGE,DEPARTMENT_ID FROM employee WHERE EMPLOYEE_ID=#{employeeId} </select> <select id= "queryEmployees" resultType= "com.mybatis.entity.Employee" > SELECT EMPLOYEE_ID,EMPLOYEE_NAME,EMPLOYEE_PASSWORD,EMPLOYEE_AGE,DEPARTMENT_ID FROM employee; </select> </mapper> |
6、测试类
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | public class TestMybatis { // 根据指定ID查询Employee @Test public void test01() throws IOException { SqlSession session = TestMybatis.openSession(); EmployeeMapper mapper = session.getMapper(EmployeeMapper. class ); Employee employee = mapper.queryEmployeeById( "3" ); System.out.println(employee); } // 查询所有的Employee @Test public void test02() throws IOException { SqlSession session = TestMybatis.openSession(); EmployeeMapper mapper = session.getMapper(EmployeeMapper. class ); List<Employee> employees = mapper.queryEmployees(); System.out.println(employees); } // 添加Employee @Test public void test03() throws IOException { SqlSession session = TestMybatis.openSession(); EmployeeMapper mapper = session.getMapper(EmployeeMapper. class ); Employee e = new Employee(); e.setEmployeeId( null ); e.setEmployeeName( "汪十" ); e.setEmployeePassword( "321" ); e.setEmployeeAge( "30" ); e.setDepartmentId( 30 ); // 插入新的Employee mapper.insertEmployeeById(e); session.commit(); } // 根据ID删除指定的Employee @Test public void test04() throws IOException { SqlSession session = TestMybatis.openSession(); EmployeeMapper mapper = session.getMapper(EmployeeMapper. class ); Employee e = new Employee(); e.setEmployeeId( 9 ); // 插入新的Employee mapper.deleteEmployeeById(e); session.commit(); } // 根据ID对Employee修改 @Test public void test05() throws IOException { SqlSession session = TestMybatis.openSession(); EmployeeMapper mapper = session.getMapper(EmployeeMapper. class ); Employee e = new Employee(); e.setEmployeeId( 7 ); e.setEmployeeName( "陈九" ); e.setEmployeePassword( "123456789" ); e.setEmployeeAge( "41" ); e.setDepartmentId( 1 ); mapper.updateEmployee(e); session.commit(); } // 获得SqlSession对象 public static SqlSession openSession() { String resource = "mybatis-config.xml" ; InputStream inputStream = null ; try { inputStream = Resources.getResourceAsStream(resource); } catch (IOException e) { e.printStackTrace(); } SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); SqlSession session = sqlSessionFactory.openSession(); return session; } } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?