别忘了请点个赞+收藏+关注支持一下博主喵!!!! ! !
下篇更新:
秒鲨后端之MyBatis【3】自定义映射resultMap、动态SQL、MyBatis的缓存、MyBatis的逆向工程、分页插件。
默认的类型别名
MyBatis的增删改查
-
添加
insert into t_user values(null,'admin','123456',23,'男','[email protected]') -
删除
为什么delete函数的返回值为int:从数据库操作的角度来看,大多数数据库管理系统(如MySQL、Oracle、SQL Server等)在执行
delete from t_user where id = 6DELETE
语句时,会返回一个表示受影响的行数(即被删除的行数)的整数值。(同理增删改都是返回一个表示受影响的行数) -
修改
update t_user set username = '张三' where id = 5 -
查询一个实体类对象
select * from t_user where id = 2//如何打印结果
User user = userMapper.getUserById();
System.out.println(user); -
查询集合(多行多列)
select * from t_user
-
//如何打印结果 List<user> list = mapper.getAlluer(); list,foreach(user -> System.out.println(user));
-
注意:
- 查询的标签select【只有select才要!!!】必须设置属性resultType或resultMap,用于设置实体类和数据库表的映射关系(因为mybatis不知道要用哪个映射关系,所以才会报错
- resultType:自动映射(类型),用于属性名和表中字段名一致的情况,设置的是默认的映射关系
- resultMap:设置自定义的映射关系,用于一对多或多对一或字段名和属性名不一致的情况
- 当查询的数据为多条时,不能使用实体类作为返回值,只能使用集合,否则会抛出异常TooManyResultsException;但是若查询的数据只有一条,可以使用实体类或集合作为返回值,例如 User getUserById()、List getUserList()
- 查询的标签select【只有select才要!!!】必须设置属性resultType或resultMap,用于设置实体类和数据库表的映射关系(因为mybatis不知道要用哪个映射关系,所以才会报错
idea中如何设置文件的配置模板
1. mybatis-config.xml核心配置文件
这样就可以快速创建mybatis-config.xml核心配置文件了:
然后再设置一下这个模板的代码(不固定的地方则空白即可,如:类型别名所在的包,最后的映射文件等等),具体情况,具体设置。
2. properties文件的模板
我们这里设置一个模板名jdbc.properties的模板:因为核心配置文件我设置了properties,所以也得必须创建该properties,所以就来弄一个模板
3. 映射文件的模板
下面是mapper接口文件(即创建的是interface-java类),根据不同用法创建不同的mapper接口文件,故不设置模板。如下创建了名为UserMapper的接口文件,意为操作User表的接口文件,
接口文件创建后,创建映射文件: