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形式的增删改查)相关推荐

  1. java对xml文件做增删改查------摘录

    java对xml文件做增删改查 package com.wss; import java.io.File; import java.util.ArrayList; import java.util.L ...

  2. springboot整合mybatis实现简单的单表增删改查(完整代码可下载)

    搭建项目 项目简单效果,前端效果丑的一批,主要是后端功能实现: springboot增删改查 csdn完整代码下载链接: springboot+mybatis Gitee下载地址: Gitee下载地址 ...

  3. jdbc增删改查有哪些步骤_用Mybatis如何实现对数据库的增删改查步骤

    使用Mybatiss实现对数据库的增删改查 文件目录 1.导入jar包,这里使用maven <dependencies><!--mybatis依赖--><!-- org. ...

  4. 02.Mybatis的动态代理方式实现增删改查

    动态代理的方式实现增删改查: 通过约定的方式定位sql语句 约定 > 配置文件 > 硬编码 约定的目标是省略掉通过硬编码的方式定位sql的代码,通过接口直接定位出sql语句,以下代码为通过 ...

  5. 【MyBatis】安装 + 框架搭建 + 优化 + 增删改查(全程一条龙服务讲解~)

    目录 前言 一.准备工作 1.1.下载MyBatis 1.2.数据库设计 二.搭建框架 2.1.创建Maven项目 2.2.jar包.引入依赖 2.3.创建MyBatis核心配置文件 2.4.映射文件 ...

  6. springboot+mybatis+thymleft 做一套简单增删改查

    首先我们先创建项目 注意:创建SpringBoot项目时一定要联网不然会报错 项目创建好后我们首先对 application.yml 进行编译 #指定端口号 server:port: 8888 #配置 ...

  7. python增删改查的框架layui_spring+springMvc+mybatis+layui实现数据表格的增删改查(纯layui实现)...

    [实例简介] 项目描述: 这是通过ssm+layui 实现的简单的对数据表格的增删改查,所有页面纯由layui实现. 如果你是新手学习layui,那这个绝对会对你有很大的帮助: 如果你之前已经学过甚至 ...

  8. XML解析以及增删改查的操作6

    有一个字符串操作类StringUtil要贴出来,之前代码里用到: public class StringUtil {public static final String BLANKS = " ...

  9. SQLite 入门教程(四)增删改查,有讲究

    增删改查操作,其中增删改操作被称为数据操作语言 DML,相对来说简单一点. 查操作相对来说复杂一点,涉及到很多子句,所以这篇先讲增删改操作,以例子为主,后面再讲查操作. 一.插入数据 INSERT I ...

最新文章

  1. graphpad做折线图坐标轴数字_pandas做数据可视化具体操作,快来看看吧
  2. Java Post 数据请求和接收
  3. data spring 指定时区_Spring 框架基础(05):Mvc架构模式,执行流程详解
  4. 用html5做一个简单网页_用Python做一个简单的翻译工具
  5. windows下 sbulime text 安装less2css踩的几个坑
  6. Spring MVC 测试 | 模拟提交表单
  7. 线性代数【15】复合线性变换-矩阵乘法 和 三维变换
  8. (libgdx学习)GestureDetector
  9. R语言学习 - 非参数法生存分析--转载
  10. 解决 jQuery 和其他库的冲突
  11. protel9s【硬件课程设计】
  12. 《自然语言处理实战入门》---- 停用词 知多少?
  13. 宋宝华——Linux设备驱动开发详解:基于最新的Linux 4.0内核(第一章)
  14. linux命令行下载gcc,linux安装GCC详解
  15. web渗透测试----14、CSRF(跨站请求伪造攻击)
  16. 对一个整形数组进行顺序排列
  17. Qpid 安装问题之qpid.messaging
  18. 墙裂推荐6个优质公众号
  19. OCP 12c最新考试题库及答案(071-2)
  20. 江湖笑(2006[神雕侠侣]片尾主题曲)铃声 江湖笑(2006[神雕侠侣...

热门文章

  1. FlameScope 更高级全面的火焰图
  2. Java课程寒假之开发记账本软件(网页版)之二
  3. layui栅格布局问题
  4. linux下编译php扩展
  5. Java Class SecurityManager
  6. 每天一个linux命令(10):cat 命令
  7. CSS中各种各样居中方法的总结
  8. OpenGL概念辨析: 窗口,视口,裁剪区域
  9. lucene3.0范围查找TermRangeQuery
  10. [JS,CSS] - CSS圆角框组件