七叶笔记 » java编程 » Mybatis持久层框架入门之CRUD实例代码详解

Mybatis持久层框架入门之CRUD实例代码详解

1、MyBatis第一个程序

思路流程:搭建环境–>导入Mybatis—>编写代码—>测试

1.1、代码演示

​ 1.搭建实验数据库

​ 2.导入MyBatis相关 jar 包

编写MyBatis核心配置文件mybatis-config.xml

编写MyBatis工具类MybatisUtils.java

创建实体类

编写Mapper接口类

编写Mapper.xml配置文件

namespace 十分重要,不能写错!

编写测试类Junit 包测试

运行测试

1.2、问题说明

可能出现问题说明:Maven静态资源过滤问题

在pom.xml中加入以下代码块

2、CRUD操作

2.1、namespace 将上面案例中的UserMapper接口改名为 UserDao;将UserMapper.xml中的namespace改为为UserDao的路径 .再次测试

结论

配置文件中namespace中的名称为对应Mapper接口或者Dao接口的完整包名,必须一致!

2.2、select select标签是mybatis中最常用的标签之一select语句有很多属性可以详细配置每一条SQL语句id命名空间中唯一的标识符接口中的方法名与映射文件中的SQL语句ID 一一对应parameterType传入SQL语句的参数类型 。【万能的Map,可以多尝试使用】resultTypeSQL语句返回值类型。【完整的类名或者别名】

需求:根据id查询用户

在UserMapper中添加对应方法

在UserMapper.xml中添加Select语句

测试类中进行测试

小练习:根据 密码 和 用户名 查询用户信息

思路一:直接在方法中传递参数

在接口方法的参数前加 @Param属性Sql语句编写的时候,直接取@Param中设置的值即可,不需要单独设置参数类型

思路二:使用万能的Map

​ 1. 在接口方法中,参数直接传递Map;

编写sql语句的时候,需要传递参数类型,参数类型为map

在使用方法的时候,Map的 key 为 sql中取的值即可,没有顺序要求!

如果参数过多,我们可以考虑直接使用Map来实现参数传递,如果参数比较少,直接传递参数即可

2.3、insert

我们一般使用insert标签进行插入操作,它的配置和select标签差不多!

需求:给数据库增加一个用户

在UserMapper接口中添加对应的方法

在UserMapper.xml中添加insert语句

​ 3.在测试类中进行测试

注意点:增、删、改操作需要提交事务!

2.4、update

我们一般使用update标签进行更新操作,它的配置和select标签差不多!

需求:修改用户的信息

在UserMapper接口中添加对应的方法

在UserMapper.xml中添加update语句

​ 3.在测试类中进行测试

2.5、delete

我们一般使用delete标签进行删除操作,它的配置和select标签差不多!

需求:根据id删除一个用户

在UserMapper接口中添加对应的方法

在UserMapper.xml中添加delete语句

​ 3.在测试类中进行测试

小结

所有的增删改操作都需要提交事务!接口所有的普通参数,尽量都写上@Param参数,尤其是多个参数时,必须写上!根据业务的需求,可以考虑使用map传递参数!为了规范操作,在SQL的配置文件中,我们尽量将Parameter参数和resultType都写上!

2.6、拓展思维

在MyBatis中模糊查询like语句该怎么写?

第1种:在Java代码中添加sql通配符。

第2种:在sql语句中拼接通配符,会引起sql注入

到此这篇关于Mybatis持久层框架入门之CRUD实例的文章就介绍到这了,更多相关mybatis入门crud内容请搜索七叶笔记以前的文章或继续浏览下面的相关文章希望大家以后多多支持七叶笔记!

相关文章