❤️使用Mybatis对数据库进行增删改查!!!

❤️namespace的用法

namespace中的包名要和接口一致;

❤️select用法

  • id:就是对应的namespace的方法名
  • resultType:sql语句的返回值!
  • parameterType: 参数类型!
  1. 编写接口
  2. 编写对应的mapper中的对应语句
  3. 测试

❤️1.编写接口

package com.kk.dao;import com.kk.pojo.User;import java.util.HashMap;
import java.util.List;
import java.util.Map;public interface UserMapper {//模糊查询List<User> getUserLike(String value);//查询全部用户List<User> getUserList();//根据ID查询用户User getUserById(int id);User getUserById2(HashMap<String, Object> map);//insert一个用户int addUser(User user);//万能的Mapint addUser2(Map<String,Object> map);//修改用户int updateUser(User user);//删除一个用户int deleteUser(int id);}

❤️2.编写Mapper.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><!--namespace=绑定一个对应的Dao/Mapper接口-->
<mapper namespace="com.kk.dao.UserMapper"><!--    模糊查询--><select id="getUserLike" resultType="com.kk.pojo.User">select * from mybatis.user where name like #{value}</select><!--    select查询语句--><select id="getUserList" resultType="com.kk.pojo.User">select * from mybatis.user</select><!--    select查询语句--><select id="getUserById" parameterType="int" resultType="com.kk.pojo.User" >select * from mybatis.user where id = #{id};</select><select id="getUserById2" parameterType="map" resultType="com.kk.pojo.User" >select * from mybatis.user where id = #{helloId} and name=#{name};</select><!--    插入语句-->
<!--    对象中的属性可以直接取出来--><insert id="addUser" parameterType="com.kk.pojo.User">insert into mybatis.user(id,name,pwd) values(#{id},#{name},#{pwd});</insert><!--    传递map的key-->
<!--    <insert id="addUser2" parameterType="map">-->
<!--        insert into mybatis.user(id,name,pwd) values(#{userid},#{userName},#{passWord});-->
<!--    </insert>--><!--    修改用户--><update id="updateUser" parameterType="com.kk.pojo.User">update mybatis.user set name=#{name},pwd=#{pwd} where id = #{id};</update><!--    删除一个用户--><delete id="deleteUser" parameterType="int">delete from mybatis.user where id=#{id}</delete></mapper>

❤️3.测试类

package com.kk.dao;import com.kk.pojo.User;
import com.kk.util.MybatisUtil;import org.apache.ibatis.session.SqlSession;
import org.testng.annotations.Test;import java.util.HashMap;
import java.util.List;public class userDaoTest {//模糊查询@Testpublic  void getUserLike(){SqlSession sqlSession = MybatisUtil.getSqlSession();UserMapper mapper = sqlSession.getMapper(UserMapper.class);List<User> userList = mapper.getUserLike("%王%");for (User user : userList) {System.out.println(user);}sqlSession.close();}@Testpublic void test(){//第一步:获得SqlSession对象SqlSession sqlSession = MybatisUtil.getSqlSession();try {//方式一:执行SQL-->getMapperUserMapper mapper = sqlSession.getMapper(UserMapper.class);List<User> userList = mapper.getUserList();for (User user : userList) {System.out.println(user);}}catch (Exception e){e.printStackTrace();}finally {//关闭sqlsqlSession.close();}}@Testpublic void getUserId(){SqlSession sqlSession = MybatisUtil.getSqlSession();//通过MybatisUtil获得Sql SeesionUserMapper mapper = sqlSession.getMapper(UserMapper.class);//通过这个获得UserMapper这个接口User user = mapper.getUserById(1);System.out.println(user);sqlSession.close();}@Testpublic void getUserId2(){SqlSession sqlSession = MybatisUtil.getSqlSession();//通过MybatisUtil获得Sql SeesionUserMapper mapper = sqlSession.getMapper(UserMapper.class);//通过这个获得UserMapper这个接口HashMap<String, Object> map = new HashMap<>();map.put("helloId",1);User user = mapper.getUserById2(map);System.out.println(user);sqlSession.close();}//增删改需要提交事务@Testpublic void addUser(){SqlSession sqlSession = MybatisUtil.getSqlSession();UserMapper mapper = sqlSession.getMapper(UserMapper.class);int res = mapper.addUser(new User(4, "大白", "123456"));if (res>0){System.out.println("插入成功!");}//提交事务sqlSession.commit();sqlSession.close();}//增删改需要提交事务 Map@Testpublic void addUser2(){SqlSession sqlSession = MybatisUtil.getSqlSession();UserMapper mapper = sqlSession.getMapper(UserMapper.class);HashMap<String, Object> map = new HashMap<>();map.put("userid",6);map.put("userName","程峰");map.put("passWord","666666");mapper.addUser2(map);//提交事务sqlSession.commit();sqlSession.close();}@Testpublic void updateUser(){SqlSession sqlSession = MybatisUtil.getSqlSession();UserMapper mapper = sqlSession.getMapper(UserMapper.class);mapper.updateUser(new User(5,"晓晓","123789"));sqlSession.commit();sqlSession.close();}@Testpublic void deleteUser(){SqlSession sqlSession = MybatisUtil.getSqlSession();UserMapper mapper = sqlSession.getMapper(UserMapper.class);mapper.deleteUser(4);sqlSession.commit();sqlSession.close();}}//        //方式二:
//        List<User> userList = sqlSession.selectList("com.kk.UserDao.getUserList");

注意点:增删改需要提交事务。

## Map用法

假如我们的实体类属性过多,用map,传递map的key

接口

 User getUserById2(HashMap<String, Object> map);

Mapper.xml

<select id="getUserById2" parameterType="map" resultType="com.kk.pojo.User" >select * from mybatis.user where id = #{helloId} and name=#{name};
</select>

测试

    @Testpublic void getUserId2(){SqlSession sqlSession = MybatisUtil.getSqlSession();//通过MybatisUtil获得Sql SeesionUserMapper mapper = sqlSession.getMapper(UserMapper.class);//通过这个获得UserMapper这个接口HashMap<String, Object> map = new HashMap<>();map.put("helloId",1);User user = mapper.getUserById2(map);System.out.println(user);sqlSession.close();}

❤️4.模糊查询

java代码执行的时候,传递通配符%

接口

//模糊查询
List<User> getUserLike(String value);

Mapper.xml

<!--    模糊查询--><select id="getUserLike" resultType="com.kk.pojo.User">select * from mybatis.user where name like #{value}</select>

测试

//模糊查询@Testpublic  void getUserLike(){SqlSession sqlSession = MybatisUtil.getSqlSession();UserMapper mapper = sqlSession.getMapper(UserMapper.class);List<User> userList = mapper.getUserLike("%王%");for (User user : userList) {System.out.println(user);}sqlSession.close();}

❤️使用Mybatis对数据库进行增删改查!!!相关推荐

  1. 利用Mybatis对数据库进行增删改查操作

    文章目录 mybatis模糊查找 先来了解一下 #{}和${}的使用 parameterType和resultType的使用 selectOne和selectList的使用 mysql自增主键返回 方 ...

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

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

  3. Mybatis学习笔记(二) 之实现数据库的增删改查

    开发环境搭建 mybatis 的开发环境搭建,选择: eclipse j2ee 版本,mysql 5.1 ,jdk 1.7,mybatis3.2.0.jar包.这些软件工具均可以到各自的官方网站上下载 ...

  4. 如何使用mybatis框架对数据库进行增删改查?

    1.配置mybatis 1.1 引入依赖 mybatis依赖 <dependency><groupId>org.mybatis</groupId><artif ...

  5. java jdbc 连接mysql数据库 实现增删改查

    好久没有写博文了,写个简单的东西热热身,分享给大家. jdbc相信大家都不陌生,只要是个搞java的,最初接触j2ee的时候都是要学习这么个东西的,谁叫程序得和数据库打交道呢!而jdbc就是和数据库打 ...

  6. servlet mysql insert_servlet+mybatis 实现mysql的增删改查实例

    古人云:温故而知新.趁周末,重新来学习了一遍servlet + mybatis 实现mysql的增删改查,算是对自己学习的一个总结和记录. 开门见山,首先我们来看一下项目目录结构: 不难发现这是一个m ...

  7. JDBC-03:PreparedStatement如何实现对数据库的增删改查操作

    文章目录 一.使用PreparedStatement实现CRUD操作 (1)使用PreparedStatement实现增删改操作 1.PreparedStatement介绍 2.实现数据库的添加操作 ...

  8. 极其方便的使用Mybatis单表的增删改查

    [活动]Python创意编程活动开始啦!!!      CSDN日报20170427 --<如何在没有实际项目经验的情况下找到工作>      深入浅出,带你学习 Unity 目录(?)[ ...

  9. php修改数据库字段内容,php对数据库的增删改查操作

    在我看来数据库是个既复杂又高深莫测的东西,但百分之八十左右的程序员都不需要去精通他,对于我们前端开发来说,只要会数据库的增删改查语句就差不多了.首先我们来说说sql的增删改查语句. 一.增删改查 插入 ...

最新文章

  1. 变步长龙格库塔法matlab代码,matlab 龙格库塔法 变步长龙格库塔法.doc
  2. FusionCharts下载地址汇总及更新介绍
  3. 主机ping不通ubuntu虚拟机的解决方法
  4. oracle性能调优学习0622
  5. 自从用完 Gradle 后,有点嫌弃 Maven 了!速度贼快!
  6. 现代密码学4.2--消息验证码/MAC
  7. faster rcnn 数据格式
  8. 虚拟机安装Solaris10
  9. 阿里云mysql创建多个用户_阿里云MySQL创建指定用户访问指定表
  10. Maven学习总结(4)——Maven核心概念
  11. Hibernate中Cascade和Inverse
  12. c++11 数值类型和字符串的相互转换
  13. 技术就是力量?!有人拿走百万现金,真相却是......
  14. 本周论文推荐(12.14-12.20)
  15. 思科EIGRP配置及基本讲解
  16. 试用期不合格通知单可以签吗?
  17. ensp中ap获取不到ip_[网络求助]华为ap无法获取到ip
  18. 畅游人工智能之海 | Keras教程之Keras的知识结构
  19. hook koa web 码云_Doodoo.js 发布 1.1.0,Koa.js+ Nuxt.js 最佳实践
  20. 方差分析(ANOVA)分类、应用举例及matlab代码

热门文章

  1. 201521123035《Java程序设计》第十周实验总结
  2. BaseAnimation
  3. 智能指针——C++实现
  4. DirectX SDK (June 2010)安装遇到Error Code S1023
  5. innobackupex和Xtrabackup备份和恢复MySQL数据
  6. 利用nginx 反向代理解决跨域问题
  7. 利用锁机制解决商品表和库存表并发问题
  8. 欠拟合和过拟合的一般解决方法
  9. socket 网络通信(基于tcp协议)以及粘包解决方案
  10. JS组件系列——BootstrapTable+KnockoutJS实现增删改查解决方案(三):两个Viewmodel搞定增删改查