mybatis之注解方式实现
* 使用mybatis举例,使用注解方式实现
* 不需要针对UserMapperI接口去编写具体的实现类代码,这个具体的实现类由MyBatis帮我们动态构建出来,我们只需要直接拿来使用即可。
* 1、导入jar包:mybatis和mysql-connector
* 2、mybatis配置文件:mybatis-config.xml,加载Mapper接口路径
* 3、编写JavaBean类:UserBean
* 4、编写执行sql接口
* 5、编写测试类进行测试 mybatis-config-zhujie.xml
<?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>
<!--从外部配置文件导入jdbc信息-->
<properties resource="jdbc.properties"></properties> <environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments> <!--指定映射资源文件-->
<mappers>
<mapper class="zhujie.UserMapperInterface"></mapper> </mappers>
</configuration>
UserMapperInterface.java
package zhujie; import bean.UserSalary;
import first.UserBean;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update; import java.util.List; /*
* 使用mybatis举例,使用注解方式实现
* 不需要针对UserMapperI接口去编写具体的实现类代码,这个具体的实现类由MyBatis帮我们动态构建出来,我们只需要直接拿来使用即可。
* 1、导入jar包:mybatis和mysql-connector
* 2、mybatis配置文件:mybatis-config.xml,加载Mapper接口路径
* 3、编写JavaBean类:UserBean
* 4、编写执行sql接口
* 5、编写测试类进行测试,自动实例化,调用方法
* */
public interface UserMapperInterface { // UserBean
@Select("select * from user where id = #{id}")
public UserBean selectOneUser(int id); @Select("select * from user")
public List<UserBean> selectAllUser(); @Insert("insert into user (id, name, age) values (#{id} ,#{name}, #{age})")
public int insertUser(UserBean userBean); @Update("update user set name=#{name} where id=#{id}")
public int updateUser(UserBean userBean); @Delete("delete from user where id=#{id}")
public int deleteById(int id); @Delete("delete from user where id=#{id}")
public int deleteByUserBean(UserBean userBean); // 使用User和Salary表联合查询
@Select("select u.id, u.name, u.age, s.salary from user u, salary s where u.name = s.name and u.name = #{name}")
public UserSalary selectOneUserSalary(String name); }
TestZhuJie.java
package zhujie; import bean.UserSalary;
import first.UserBean;
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.Ignore;
import org.junit.Test; import java.io.IOException;
import java.io.InputStream;
import java.util.List; /*
* 使用mybatis举例,使用注解方式实现
* 不需要针对UserMapperI接口去编写具体的实现类代码,这个具体的实现类由MyBatis帮我们动态构建出来,我们只需要直接拿来使用即可。
* 1、导入jar包:mybatis和mysql-connector
* 2、mybatis配置文件:mybatis-config.xml,加载Mapper接口路径
* 3、编写JavaBean类:UserBean
* 4、编写执行sql接口
* 5、编写测试类进行测试
* */
public class TestZhuJie {
String resource = "mybatis-config-zhujie.xml";
SqlSessionFactory sqlSessionFactory = null;
SqlSession session = null; @Before
public void before() {
// System.out.println("Before");
try {
InputStream inputStream = Resources.getResourceAsStream(resource);
// 创建工厂
sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
// 创建session对象
session = sqlSessionFactory.openSession(); } catch (IOException e) {
e.printStackTrace();
}
} @After
public void close() {
session.close();
// System.out.println("After");
} @Test
public void testSelectOneUser() {
// 接口自动实例化
UserMapperInterface userMapperInterface = session.getMapper(UserMapperInterface.class);
// 执行sql
UserBean userBean = userMapperInterface.selectOneUser(1);
System.out.println(userBean);
} // 批量查询
@Test
public void testSelectAllUser() {
// 接口自动实例化
UserMapperInterface userMapperInterface = session.getMapper(UserMapperInterface.class);
// 执行sql
List<UserBean> listUserBean = userMapperInterface.selectAllUser();
System.out.println("记录个数:" + listUserBean.size());
System.out.println(listUserBean);
} @Ignore
@Test
public void testInsertUser() {
UserBean userBean = new UserBean("CoCo2", "50");
UserMapperInterface userMapperInterface = session.getMapper(UserMapperInterface.class);
int n = userMapperInterface.insertUser(userBean);
// 提交
session.commit();
System.out.println("插入数据成功:" + userBean);
} @Ignore
@Test
public void testUpdateUser() {
UserBean userBean = new UserBean(2, "Tom44", "40");
UserMapperInterface userMapperInterface = session.getMapper(UserMapperInterface.class);
userMapperInterface.updateUser(userBean);
session.commit();
System.out.println("修改数据成功:" + userBean);
} @Ignore
@Test
public void testDeleteUser() {
UserBean userBean = new UserBean(15, "XXX", "40");
UserMapperInterface userMapperInterface = session.getMapper(UserMapperInterface.class);
int n = userMapperInterface.deleteByUserBean(userBean);
session.commit();
System.out.println("删除数据成功:" + userBean);
System.out.println("操作成功记录数:" + n);
} @Test
public void testSelectOneUserSalary() {
// 接口自动实例化
UserMapperInterface userMapperInterface = session.getMapper(UserMapperInterface.class);
// 执行sql
UserSalary userSalary = userMapperInterface.selectOneUserSalary("Tom");
System.out.println(userSalary);
} }
mybatis之注解方式实现的更多相关文章
- SpringBoot入门教程(四)MyBatis generator 注解方式和xml方式
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可以使用简单的 XML ...
- MyBatis通过注解方式批量添加、修改、删除
唯能极于情,故能极于剑 注: 本文转载于:CodeCow · 程序牛 的个人博客:http://www.codecow.cn/ 一.数据库实体DO public class User implemen ...
- SpringBoot系列-整合Mybatis(注解方式)
目录 一.常用注解说明 二.实战 三.测试 四.注意事项 上一篇文章<SpringBoot系列-整合Mybatis(XML配置方式)>介绍了XML配置方式整合的过程,本文介绍下Spring ...
- MyBatis使用注解方式实现CRUD操作
一.使用注解后就不需要写SysGroupDaoMapper.xml 只需要在Dao的抽象方法前加上相应的注解就可以. package cn.mg39.ssm01.dao; import java.ut ...
- Mybatis通过注解方式实现批量插入数据库 及 常见的坑
原文地址:http://f0rb.iteye.com/blog/1207384 MyBatis中通过xml文件配置数据库批量操作的文章很多,比如这篇http://www.cnblogs.com/xcc ...
- Mybatis通过注解方式实现批量插入数据库
原文地址:http://f0rb.iteye.com/blog/1207384 MyBatis中通过xml文件配置数据库批量操作的文章很多,比如这篇http://www.cnblogs.com/xcc ...
- springboot整合mybatis之注解方式
1. 创建maven项目,工程目录如下图 2. 在pom.xml文件中添加mybatis依赖. 3. 创建实体类,并生成construct方法,getter和setter方法.同时在数据库中创建对应的 ...
- MyBatis 接口注解方式代替mapper.xml
https://blog.csdn.net/m0_38068812/article/details/86566929 spring boot(8)-mybatis三种动态sql 或者 这个 1. 代 ...
- 【spring boot】14.spring boot集成mybatis,注解方式OR映射文件方式AND pagehelper分页插件【Mybatis】pagehelper分页插件分页查询无效解决方法
spring boot集成mybatis,集成使用mybatis拖沓了好久,今天终于可以补起来了. 本篇源码中,同时使用了Spring data JPA 和 Mybatis两种方式. 在使用的过程中一 ...
随机推荐
- cloudstack的虚拟机arp -a时网关的mac地址 都是Incomplete
定位ARP攻击源头和防御方法 主动定位方式:因为所有的ARP攻击源都会有其特征——网卡会处于混杂模式,可以通过ARPKiller这样的工具扫描网内有哪台机器的网卡是处于混杂模式的,从而判断这台机器有可 ...
- Makefile 学习记录一
2019年2月5日10:18:13 大年初一 整理 uboot-2018-11 源代码 根目录下的 Makefile . ifeq ("$(origin O)", "c ...
- 添加mysqld、apache服务到windows服务
mysqld --install “d:\apache\bin\httpd.exe” -k install
- Django进阶(2)
1.在D盘创建mysite工程项目: django-admin startproject mysite manage.py ----- Django项目里面的工具,通过它可以调用django she ...
- RTSP server 在mips 上莫名其妙退出(PC上则无此问题)
http://blog.csdn.net/lubing20044793/article/details/38523701 早在这篇blog以前写过,在虚拟机下调试sn9c291时,USB 数据传输出了 ...
- Hiberante持久化对象的3种状态
近日一同事问我关于Hibernate中对象的3种状态的问题,因此特意总结一下.在Hibernate中对象是有以下3中状态: 瞬时态(transient object): 没有OID值,没有被s ...
- 6.Xilinx RapidIO核仿真与包时序分析
转自https://www.cnblogs.com/liujinggang/p/10123498.html 一.软件平台与硬件平台 软件平台: 操作系统:Windows 8.1 64-bit 开发套件 ...
- vue基础项目安装教程
安装node.js 从node.js官网下载并安装node,安装过程很简单,一路“下一步”就可以了. 安装完成之后,打开命令行工具,输入 node -v,如下图,如果出现相应的版本号,则说明安装成功. ...
- svn插件下载的两种方式
1.下载SVN插件 SVN插件下载地址及更新地址,你根据需要选择你需要的版本.现在最新是1.8.x Links for 1.8.x Release: Eclipse up ...
- C#_备份sqlserver数据库
C# 代码备份数据库 ,不需要 其他 DLL protected void Button1_Click(object sender, EventArgs e) { /// ...