Mybatis入门:2(xml形式的增删改查)
xml形式的增删改查
这里感觉没啥好讲的,照着代码自己敲一遍、认真再看看应该都懂的。
Maven工程坐标
<?xml version="1.0" encoding="UTF-8"?>
<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>org.example</groupId><artifactId>Mybatis02</artifactId><version>1.0-SNAPSHOT</version><dependencies><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.20</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.4</version></dependency></dependencies></project>
dao接口
package com.dao;import com.domain.User;import java.util.List;public interface UserDao {/*** 普通查询操作* @return*/List<User>findAll();/*** 增添操作* @param user*/void addUser(User user);/*** 根据产品类型删除* @param type*/void deleteUserByType(String type);/*** 修改用户信息* @param user*/void updateUser(User user);/*** 模糊查询操作* @return*/List<User>findByType(String user);
}
实现类
package com.domain;import java.io.Serializable;
import java.util.Date;public class User implements Serializable {private String product_name;private String product_type;private int product_price;private Date regist_date;public String getProduct_name() {return product_name;}public void setProduct_name(String product_name) {this.product_name = product_name;}public String getProduct_type() {return product_type;}public void setProduct_type(String product_type) {this.product_type = product_type;}public int getProduct_price() {return product_price;}public void setProduct_price(int product_price) {this.product_price = product_price;}public Date getRegist_date() {return regist_date;}public void setRegist_date(Date regist_date) {this.regist_date = regist_date;}@Overridepublic String toString() {return "User{" +"product_name='" + product_name + '\'' +", product_type='" + product_type + '\'' +", product_price=" + product_price +", regist_date=" + regist_date +'}';}
}
Mybatis主配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<environments default="mysql"><environment id="mysql"><transactionManager type="JDBC"></transactionManager><dataSource type="POOLED"><property name="driver" value="com.mysql.cj.jdbc.Driver"/><property name="url" value="jdbc:mysql://localhost:3306/study"/><property name="username" value="root"/><property name="password" value="123456"/></dataSource></environment>
</environments><mappers><mapper resource="com/dao/IUserDao.xml"></mapper></mappers>
</configuration>
映射配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.dao.UserDao"><!--查询--><select id="findAll" resultType="com.domain.User">select * from product</select><!--增添--><insert id="addUser" parameterType="com.domain.User">insert into product(product_name,product_type,product_price,regist_date) value (#{product_name},#{product_type},#{product_price},#{regist_date})</insert><!--删除--><delete id="deleteUserByType" parameterType="String">delete from product where product_type=#{product_type}</delete><!--修改--><update id="updateUser" parameterType="com.domain.User">update product set product_name=#{product_name},product_price=#{product_price},regist_date=#{regist_date} where product_type=#{product_type}</update><select id="findByType" parameterType="String" resultType="com.domain.User">select * from product where product_type like #{product_type}</select>
</mapper>
测试类
package com.test;import com.dao.UserDao;
import com.domain.User;
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.InputStream;
import java.text.SimpleDateFormat;
import java.util.List;public class MybatisTest {private static UserDao userDao;private static SqlSession session;private static InputStream inputStream;@Beforepublic void test() throws Exception{inputStream = Resources.getResourceAsStream("SqlMapConfig.xml");SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();SqlSessionFactory factory = builder.build(inputStream);session = factory.openSession();userDao = session.getMapper(UserDao.class);}@Testpublic void testFindAll(){ //普通查询操作List<User>users = userDao.findAll();for (User user:users){System.out.println(user);}}@Testpublic void testAddUser(){ //增添操作User user = new User();user.setProduct_name("竖笛");user.setProduct_type("乐器");user.setProduct_price(3000);try{user.setRegist_date(new SimpleDateFormat("yyyy-MM-dd").parse("2020-7-16"));}catch (Exception e){e.printStackTrace();}userDao.addUser(user);session.commit(); //对表格进行修改操作(增删改)时必须得提交事务,否则表格不会保存修改
// 若没有写session.commit();则更新的数据没有进行更新
// 进行add和update必须进行session.commit();}@Testpublic void testDelete(){ //删除操作userDao.deleteUserByType("乐器");session.commit(); //对表格进行修改操作(增删改)时必须得提交事务,否则表格不会保存修改}@Testpublic void testUpdate(){ //修改操作User user = new User();user.setProduct_type("乐器");user.setProduct_name("吉他");user.setProduct_price(10000);try{user.setRegist_date(new SimpleDateFormat("yyyy-MM-dd").parse("2020-7-16"));}catch (Exception e){e.printStackTrace();}userDao.updateUser(user);session.commit(); //对表格进行修改操作(增删改)时必须得提交事务,否则表格不会保存修改}@Testpublic void testFindByType(){ //模糊查询操作List<User>userList = userDao.findByType("%用品%");for (User user:userList){System.out.println(user);}}@Afterpublic void destroy() throws Exception{ //资源关闭操作session.close();inputStream.close();}
运行结果
Mybatis入门:2(xml形式的增删改查)相关推荐
- java对xml文件做增删改查------摘录
java对xml文件做增删改查 package com.wss; import java.io.File; import java.util.ArrayList; import java.util.L ...
- springboot整合mybatis实现简单的单表增删改查(完整代码可下载)
搭建项目 项目简单效果,前端效果丑的一批,主要是后端功能实现: springboot增删改查 csdn完整代码下载链接: springboot+mybatis Gitee下载地址: Gitee下载地址 ...
- jdbc增删改查有哪些步骤_用Mybatis如何实现对数据库的增删改查步骤
使用Mybatiss实现对数据库的增删改查 文件目录 1.导入jar包,这里使用maven <dependencies><!--mybatis依赖--><!-- org. ...
- 02.Mybatis的动态代理方式实现增删改查
动态代理的方式实现增删改查: 通过约定的方式定位sql语句 约定 > 配置文件 > 硬编码 约定的目标是省略掉通过硬编码的方式定位sql的代码,通过接口直接定位出sql语句,以下代码为通过 ...
- 【MyBatis】安装 + 框架搭建 + 优化 + 增删改查(全程一条龙服务讲解~)
目录 前言 一.准备工作 1.1.下载MyBatis 1.2.数据库设计 二.搭建框架 2.1.创建Maven项目 2.2.jar包.引入依赖 2.3.创建MyBatis核心配置文件 2.4.映射文件 ...
- springboot+mybatis+thymleft 做一套简单增删改查
首先我们先创建项目 注意:创建SpringBoot项目时一定要联网不然会报错 项目创建好后我们首先对 application.yml 进行编译 #指定端口号 server:port: 8888 #配置 ...
- python增删改查的框架layui_spring+springMvc+mybatis+layui实现数据表格的增删改查(纯layui实现)...
[实例简介] 项目描述: 这是通过ssm+layui 实现的简单的对数据表格的增删改查,所有页面纯由layui实现. 如果你是新手学习layui,那这个绝对会对你有很大的帮助: 如果你之前已经学过甚至 ...
- XML解析以及增删改查的操作6
有一个字符串操作类StringUtil要贴出来,之前代码里用到: public class StringUtil {public static final String BLANKS = " ...
- SQLite 入门教程(四)增删改查,有讲究
增删改查操作,其中增删改操作被称为数据操作语言 DML,相对来说简单一点. 查操作相对来说复杂一点,涉及到很多子句,所以这篇先讲增删改操作,以例子为主,后面再讲查操作. 一.插入数据 INSERT I ...
最新文章
- graphpad做折线图坐标轴数字_pandas做数据可视化具体操作,快来看看吧
- Java Post 数据请求和接收
- data spring 指定时区_Spring 框架基础(05):Mvc架构模式,执行流程详解
- 用html5做一个简单网页_用Python做一个简单的翻译工具
- windows下 sbulime text 安装less2css踩的几个坑
- Spring MVC 测试 | 模拟提交表单
- 线性代数【15】复合线性变换-矩阵乘法 和 三维变换
- (libgdx学习)GestureDetector
- R语言学习 - 非参数法生存分析--转载
- 解决 jQuery 和其他库的冲突
- protel9s【硬件课程设计】
- 《自然语言处理实战入门》---- 停用词 知多少?
- 宋宝华——Linux设备驱动开发详解:基于最新的Linux 4.0内核(第一章)
- linux命令行下载gcc,linux安装GCC详解
- web渗透测试----14、CSRF(跨站请求伪造攻击)
- 对一个整形数组进行顺序排列
- Qpid 安装问题之qpid.messaging
- 墙裂推荐6个优质公众号
- OCP 12c最新考试题库及答案(071-2)
- 江湖笑(2006[神雕侠侣]片尾主题曲)铃声 江湖笑(2006[神雕侠侣...