Mybatis学习笔记-CRUD
namespace
namesapce中的包名需与Dao/Mapper接口的包名一致
SELCET
选择,查询语句
- id:对应namespace中的方法;
- resultType:Sql语句执行的返回值(Class);
- parameterType:参数类型;
INSERT&UPDATE&DELETE
编写步骤
- 编写接口
    // 根据ID查询用户
    User getUserById(int id);
    // Insert User
    int addUser(User user);
    // Delete User By ID
    int delUser(int id);
    // Update User
    int updateUser(User user);
- 编写mapper中的sql语句
    <!--根据ID查询用户-->
    <select id="getUserById" parameterType="int" resultType="cn.iris.pojo.User">
        SELECT * FROM user WHERE id = #{id}
    </select>
    <!--添加用户
        对象中的属性可直接取出()无需调用方法-->
    <insert id="addUser" parameterType="cn.iris.pojo.User">
        INSERT INTO user(id, name, pwd) VALUES (#{id},#{name},#{pwd})
    </insert>
    <!--根据ID删除用户-->
    <delete id="delUser" parameterType="int">
        DELETE FROM user WHERE id=#{id}
    </delete>
    <!--根据ID更新用户信息-->
    <update id="updateUser" parameterType="cn.iris.pojo.User">
        UPDATE user SET name=#{name},pwd=#{pwd} WHERE id=#{id}
    </update>
- 测试
    @Test
    public void getUserByIdTest() {
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        User user = mapper.getUserById(1);
        System.out.println(user);
        sqlSession.close();
    }
    @Test
    public void addUserTest(){略}
    @Test
    public void updateUserTest(){略}
    @Test
    public void deleteUserTest(){略}
所有增删改操作均需要提交事务(sqlsession.commit)!!!
排错指南
- namespace 包名用'.'
<!--绑定对应的Dao/Mapper接口-->
<mapper namespace="cn.iris.dao.UserMapper">
- Mybatis配置文件
    <mappers>
        <mapper resource="cn/iris/dao/userMapper.xml"/>
    </mappers>
模糊查询
- Java代码执行时带上通配符(xml中#{}识别为变量,防止sql注入)
List<User> userList = mapper.getUserListLike("%艾%");
- sql拼接中加入通配符
SELECT * FROM user WHERE name like "%"+#{value}+"%";
Mybatis学习笔记-CRUD的更多相关文章
- Mybatis学习笔记导航
		Mybatis小白快速入门 简介 本人是一个Java学习者,最近才开始在博客园上分享自己的学习经验,同时帮助那些想要学习的uu们,相关学习视频在小破站的狂神说,狂神真的是我学习到现在觉得最GAN的老师 ... 
- Mybatis学习笔记(二) 之实现数据库的增删改查
		开发环境搭建 mybatis 的开发环境搭建,选择: eclipse j2ee 版本,mysql 5.1 ,jdk 1.7,mybatis3.2.0.jar包.这些软件工具均可以到各自的官方网站上下载 ... 
- 【MyBatis学习笔记】
		[MyBatis学习笔记]系列之预备篇一:ant的下载与安装 [MyBatis学习笔记]系列之预备篇二:ant入门示例 [MyBatis学习笔记]系列之一:MyBatis入门示例 [MyBatis学习 ... 
- MyBatis:学习笔记(3)——关联查询
		MyBatis:学习笔记(3)--关联查询 关联查询 理解联结 SQL最强大的功能之一在于我们可以在数据查询的执行中可以使用联结,来将多个表中的数据作为整体进行筛选. 模拟一个简单的在线商品购物系统, ... 
- MyBatis:学习笔记(1)——基础知识
		MyBatis:学习笔记(1)--基础知识 引入MyBatis JDBC编程的问题及解决设想 ☐ 数据库连接使用时创建,不使用时就释放,频繁开启和关闭,造成数据库资源浪费,影响数据库性能. ☐ 使用数 ... 
- mybatis学习笔记(五) -- maven+spring+mybatis从零开始搭建整合详细过程(附demo和搭建过程遇到的问题解决方法)
		文章介绍结构一览 一.使用maven创建web项目 1.新建maven项目 2.修改jre版本 3.修改Project Facts,生成WebContent文件夾 4.将WebContent下的两个文 ... 
- mybatis学习笔记(四)-- 为实体类定义别名两种方法(基于xml映射)
		下面示例在mybatis学习笔记(二)-- 使用mybatisUtil工具类体验基于xml和注解实现 Demo的基础上进行优化 以新增一个用户为例子,原UserMapper.xml配置如下: < ... 
- mybatis学习笔记(二)-- 使用mybatisUtil工具类体验基于xml和注解实现
		项目结构 基础入门可参考:mybatis学习笔记(一)-- 简单入门(附测试Demo详细过程) 开始体验 1.新建项目,新建类MybatisUtil.java,路径:src/util/Mybatis ... 
- Mybatis学习笔记二
		本篇内容,紧接上一篇内容Mybatis学习笔记一 输入映射和输出映射 传递简单类型和pojo类型上篇已介绍过,下面介绍一下包装类型. 传递pojo包装对象 开发中通过可以使用pojo传递查询条件.查询 ... 
随机推荐
- rabbitmqctl 命令整理
			虽然还有http 接口.web admin组件可以进行管理,但是rabbitmqctl 基本包含了 rabbitmq 的全部管理功能,更为全面. 所以将其使用方法总结于此. 一,命令格式 rabbit ... 
- Unity 添加,修改默认创建脚本模板
			Unity 默认创建的脚本可以添加也可以修改,不需要修改Editor. 一.找到模板目录 \Editor\Data\Resources\ScriptTemplates 二.如果要修改模板,直接打开修改 ... 
- k8s 1.12 环境部署及学习笔记
			1.K8S概述 1.Kubernetes是什么 2.Kubernetes特性 3.Kubernetes集群架构与组件 4.Kubernetes核心概念 1.1 Kubernetes是什么 • Kube ... 
- Spring学习日记02_IOC_属性注入_其他类型属性
			ICO操作Bean管理(xml注入其它类型属性) 字面量 null值 <property name="address"> <null></null&g ... 
- 20、nginx之ngx_http_upstream_module模块
			nginx的ngx_http_upstream_module模块是用于nginx反向代理的,默认在安装nginx时已经被安装,ngx_http_upstream_module模块 的内容应放于 ngi ... 
- 面试系列——Mysql索引
			1.索引分类 Hash索引Hash 索引查询效率很高,时间复杂度O(1).Mysql Innodb引擎不支持hash索引的.Hash索引适合精确查找,不适合范围查找. 平衡二叉树时间复杂度为 O(n) ... 
- 【译】GO语言:管理多个错误
			原文:https://medium.com/a-journey-with-go/go-multiple-errors-management-a67477628cf1  关于开发者使用Go遇到的最大挑 ... 
- Spring:Spring注解大全
			@Controller 标识一个该类是Spring MVC controller处理器,用来创建处理http请求的对象. @Controller public class TestController ... 
- Hadoop:什么是Hadoop??
			官方讲解: Apache Hadoop 为可靠的,可扩展的分布式计算开发开源软件.Apache Hadoop软件库是一个框架,它允许使用简单的编程模型跨计算机群集分布式处理大型数据集(海量的数据). ... 
- idea中IDEA优化配置,提高启动和运行速度
			IDEA优化配置,提高启动和运行速度 IDEA默认启动配置主要考虑低配置用户,参数不高,导致 启动慢,然后运行也不流畅,这里我们需要优化下启动和运行配置: 找到idea安装的bin目录: D:\ide ... 
