Maven使用注解配置SQL映射器(@Select,@Insert,@Update,@Delete)
工程目录:
Client.java
package client;import java.io.*;
import java.util.List;
import org.apache.ibatis.io.*;
import org.apache.ibatis.session.*;
import domain.Employee;
import domain.UserMapper;public class Client {public static void main(String args[]) throws IOException {InputStream in=null;SqlSessionFactory factory=null;SqlSession sqlSession=null;try {in = Resources.getResourceAsStream("mybatis-config.xml");}catch(IOException e) {e.printStackTrace();}try {factory = new SqlSessionFactoryBuilder().build(in);sqlSession = factory.openSession(); UserMapper userMapper=sqlSession.getMapper(UserMapper.class);List<Employee> list = userMapper.findAllEmployees();//注解配置映射查询 for(Employee emp:list)System.out.println(emp.getDeptId()+" "+emp.getEmpId()+" "+emp.getName());Employee emp=new Employee();emp.setDeptId(1);emp.setEmpId(5);emp.setName("小包");System.out.println("insert "+userMapper.insertEmp(emp)+" row is affected");//注解配置映射插入Employee emp2=new Employee();emp2.setEmpId(1);emp2.setName("月牙");System.out.println("update "+userMapper.updateEmp(emp2)+" row is affected");//注解配置映射更新System.out.println("delete "+userMapper.deleteEmp(2)+" row is affected");//注解配置映射删除sqlSession.commit();}catch(Exception e) {e.printStackTrace();if(sqlSession!=null) {sqlSession.rollback();}}finally {if(sqlSession!=null) {sqlSession.close();}}}
}
Department.java
package domain;public class Department {private int deptId;private String deptName;public int getDeptId() {return deptId;}public void setDeptId(int deptId) {this.deptId = deptId;}public String getDeptName() {return deptName;}public void setDeptName(String deptName) {this.deptName = deptName;}
}
Employee.java
package domain;public class Employee {private int empId;private String name;private int deptId;public int getEmpId() {return empId;}public void setEmpId(int empId) {this.empId = empId;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getDeptId() {return deptId;}public void setDeptId(int deptId) {this.deptId = deptId;}
}
UserMapper.java(interface)
package domain;import java.util.List;import org.apache.ibatis.annotations.*;public interface UserMapper {@Select("select * from employee")public List<Employee> findAllEmployees();@Insert("insert into employee values(#{empId},#{name},#{deptId})")public int insertEmp(Employee emp);//返回受影响的行数@Update("update employee set name=#{name} where empId=#{empId}")public int updateEmp(Employee emp);@Delete("delete from employee where empId=#{empId}")public int deleteEmp(int empId);
}
UserMapper.xml
<?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="domain.UserMapper">
</mapper>
pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.zlm</groupId><artifactId>Maven</artifactId><version>0.0.1-SNAPSHOT</version><dependencies><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.2.6</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.40</version></dependency><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>1.3.1</version></dependency></dependencies>
</project>
employee表
查询结果:
Maven使用注解配置SQL映射器(@Select,@Insert,@Update,@Delete)相关推荐
- Maven使用注解配置SQL映射器(@Results,@ResultMap)
工程目录: 一.@Results映射 Client.java package client;import java.io.*; import java.util.List; import org.ap ...
- Mybatis基于XML配置SQL映射器(二)
Mybatis之XML注解 之前已经讲到通过 mybatis-generator 生成mapper映射接口和相关的映射配置文件: 下面我们将详细的讲解具体内容 首先我们新建映射接口文档 sysUse ...
- Mybatis基于XML配置SQL映射器(一)
Durid和Mybatis开发环境搭建 SpringBoot搭建基于Spring+SpringMvc+Mybatis的REST服务(http://www.cnblogs.com/nbfujx/p/76 ...
- 数据操纵:SELECT, INSERT, UPDATE, DELETE
1 SELECT 句法 2 3 SELECT [STRAIGHT_JOIN] 4 [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT] 5 [ ...
- Create and Drop Database, Create, Alter and Drop Tables, Select, Insert, Update, Delete Commands
此文仅做自我学习记录用!!! Introduction (Descriptive) Content:- Creating and Maintaining Tables, Objectives, The ...
- oracle execute immediate 报错,oracle中execute immediate的使用(select/insert/update/delete)...
execute immediate的语法如下: execute immediate 'sql'; execute immediate 'sql_select' into var_1, var_2; e ...
- QT5 QSqlQuery的SELECT INSERT UPDATE DELETE命令用法
1.QSqlQuery的SELECT查询记录用法: QSqlQuery q("SELECT * FROM departments");QSqlRecord rec = q.reco ...
- 【SpringMVC框架】注解的处理器映射器和适配器配置
下面我们来探讨注解的处理器映射器和适配器 1.注解的处理器映射器和适配器 在spring3.1之前使用org.springframework.web.servlet.mvc.annotation.De ...
- 14. 使用MyBatis注解配置SQL
14. 使用MyBatis注解配置SQL 1.MyBatis常用注解 @Insert:实现新增,代替了 @Delete:实现删除,代替了 @Update:实现更新,代替了 @Select:实现查询,代 ...
最新文章
- Interview:互联网IT界技能进阶必备—各个职位推荐几个高含金量的证书
- 初学Java ssh之Spring 第一篇
- abap中的弹出窗口函数
- 八、VueJs 填坑日记之参数传递及内容页面的开发
- 擎天出口退税软件_新版申报系统退税申报注意事项
- phpcms模型缓存更新原理分析(转)
- 大数据,并非一蹴而就
- Windows下Python的pd.read_excel()报错
- SciPy 非线性方程求解 | Python技能树征题
- 在Linux下禁用IPv6的方法小结
- concurrentHashMap扩容细节
- WeiPHP5.0 SQL注入漏洞2
- tp框架 文件上传+excel表格导入
- 永凯APS生产排程软件同时考虑物料及产能
- linux shell 脚本手动执行没问题,但在任务计划中执行有问题
- 标准应用 | 数据库防火墙安全技术解析与实践
- Unity灯光烘焙系统
- html制作晚安,晚安计划.html
- superset集成echarts
- 基于fpga的直流电机vhdl+论文+开题报告+(csdn免费下载)
热门文章
- 还有 2 天,这场大咖云集的启智开发者大会即将启动!
- 不想“被out”?来看看现在的开发者都在做什么
- .NPT 扩展名格式文件类型及打开方式分析:首次渗入 XR 内容领域
- PHP 没有真正的数组!
- 面试总是死在网络协议,我该怎么办?
- AMD 证实停止向中国提供 x86 新技术授权!
- 网易邮箱账号遭公开叫卖;任正非谈华为接班人;中科协回应提名李彦宏增选院士 | 极客头条...
- “5G 时代,手机或被淘汰”
- 阿里:“马云从未转让和退出”;华为三星和解;拼多多回应传闻 | 极客头条...
- 支付宝推生物识别;Google 爆重大隐私问题;TensorFlow 2.0 即将发布 | 极客头条