❤️使用Mybatis对数据库进行增删改查!!!
❤️使用Mybatis对数据库进行增删改查!!!
❤️namespace的用法
namespace中的包名要和接口一致;
❤️select用法
- id:就是对应的namespace的方法名
- resultType:sql语句的返回值!
- parameterType: 参数类型!
- 编写接口
- 编写对应的mapper中的对应语句
- 测试
❤️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对数据库进行增删改查!!!相关推荐
- 利用Mybatis对数据库进行增删改查操作
文章目录 mybatis模糊查找 先来了解一下 #{}和${}的使用 parameterType和resultType的使用 selectOne和selectList的使用 mysql自增主键返回 方 ...
- jdbc增删改查有哪些步骤_用Mybatis如何实现对数据库的增删改查步骤
使用Mybatiss实现对数据库的增删改查 文件目录 1.导入jar包,这里使用maven <dependencies><!--mybatis依赖--><!-- org. ...
- Mybatis学习笔记(二) 之实现数据库的增删改查
开发环境搭建 mybatis 的开发环境搭建,选择: eclipse j2ee 版本,mysql 5.1 ,jdk 1.7,mybatis3.2.0.jar包.这些软件工具均可以到各自的官方网站上下载 ...
- 如何使用mybatis框架对数据库进行增删改查?
1.配置mybatis 1.1 引入依赖 mybatis依赖 <dependency><groupId>org.mybatis</groupId><artif ...
- java jdbc 连接mysql数据库 实现增删改查
好久没有写博文了,写个简单的东西热热身,分享给大家. jdbc相信大家都不陌生,只要是个搞java的,最初接触j2ee的时候都是要学习这么个东西的,谁叫程序得和数据库打交道呢!而jdbc就是和数据库打 ...
- servlet mysql insert_servlet+mybatis 实现mysql的增删改查实例
古人云:温故而知新.趁周末,重新来学习了一遍servlet + mybatis 实现mysql的增删改查,算是对自己学习的一个总结和记录. 开门见山,首先我们来看一下项目目录结构: 不难发现这是一个m ...
- JDBC-03:PreparedStatement如何实现对数据库的增删改查操作
文章目录 一.使用PreparedStatement实现CRUD操作 (1)使用PreparedStatement实现增删改操作 1.PreparedStatement介绍 2.实现数据库的添加操作 ...
- 极其方便的使用Mybatis单表的增删改查
[活动]Python创意编程活动开始啦!!! CSDN日报20170427 --<如何在没有实际项目经验的情况下找到工作> 深入浅出,带你学习 Unity 目录(?)[ ...
- php修改数据库字段内容,php对数据库的增删改查操作
在我看来数据库是个既复杂又高深莫测的东西,但百分之八十左右的程序员都不需要去精通他,对于我们前端开发来说,只要会数据库的增删改查语句就差不多了.首先我们来说说sql的增删改查语句. 一.增删改查 插入 ...
最新文章
- 变步长龙格库塔法matlab代码,matlab 龙格库塔法 变步长龙格库塔法.doc
- FusionCharts下载地址汇总及更新介绍
- 主机ping不通ubuntu虚拟机的解决方法
- oracle性能调优学习0622
- 自从用完 Gradle 后,有点嫌弃 Maven 了!速度贼快!
- 现代密码学4.2--消息验证码/MAC
- faster rcnn 数据格式
- 虚拟机安装Solaris10
- 阿里云mysql创建多个用户_阿里云MySQL创建指定用户访问指定表
- Maven学习总结(4)——Maven核心概念
- Hibernate中Cascade和Inverse
- c++11 数值类型和字符串的相互转换
- 技术就是力量?!有人拿走百万现金,真相却是......
- 本周论文推荐(12.14-12.20)
- 思科EIGRP配置及基本讲解
- 试用期不合格通知单可以签吗?
- ensp中ap获取不到ip_[网络求助]华为ap无法获取到ip
- 畅游人工智能之海 | Keras教程之Keras的知识结构
- hook koa web 码云_Doodoo.js 发布 1.1.0,Koa.js+ Nuxt.js 最佳实践
- 方差分析(ANOVA)分类、应用举例及matlab代码
热门文章
- 201521123035《Java程序设计》第十周实验总结
- BaseAnimation
- 智能指针——C++实现
- DirectX SDK (June 2010)安装遇到Error Code S1023
- innobackupex和Xtrabackup备份和恢复MySQL数据
- 利用nginx 反向代理解决跨域问题
- 利用锁机制解决商品表和库存表并发问题
- 欠拟合和过拟合的一般解决方法
- socket 网络通信(基于tcp协议)以及粘包解决方案
- JS组件系列——BootstrapTable+KnockoutJS实现增删改查解决方案(三):两个Viewmodel搞定增删改查