mybatis实现CRUD,config.xml的配置,别名,环境,映射器的引入
1:mybatis实现CRUD
1:根据id查询用户信息

2:查询数量
3:查询所有

4:新增用户

5:修改用户信息
6:删除信息
7:解决数据库和实体类中字段和用户信息不统一的问题
1:起别名,
2:使用resultMap手动映射
3:封装成HashMap在返回
4:开启驼峰映射规则

8:封装baseMapper

9:新增数据之后返回主键id
在使用MyBatis做持久层时,insert语句默认是不返回记录的主键值,而是返回插入的记录条数;显然,假如主键是你生成后插入的,自然你已经有主键了,显然不需要我们再去获得,所以我们这里处理的是当主键是数据库中自动生成的,例如主键是自增长的。如果业务层需要得到记录的主键(自增长)时,可以通过配置的方式来完成这个功能。
可以在insert标签中添加如下配置:
keyProperty: 对象中的属性名,必须指定
keyColumn:表中的字段名,不是必须指定
useGeneratedKeys:激活回填功能,必须指定
如果 keyProperty == keyColumn 时,keyColumn可以省略不写。

10:使用动态代理实现CRUD
使用Mybatis开发Dao,通常有两个方法,即原始Dao开发方法和Mapper接口开发方法。 Mapper接口开发方式是基于入门程序的基础上,对 控制程序 进行分层开发,开发人员只需要 编写mapper接口 和 Mapper.xml 配置文件中的sql即可,程序员编写mapper接口需要遵循一些开发规范,mybatis可以自动生成mapper接口实现类代理对象执行指定的sql。
可以通过session.getMapper(接口名.class)方式获取接口的代理对象来执行对应的sql语句,同时还需要满足一下要求:



2:Mybatis-config.xml的一些配置

Mybatis的配置项是有顺序的,顺序如上。
1:properties
有些属性都是可外部配置且可动态替换的,既可以在Java 属性文件中配置,亦可通过 properties 元素的子元素来传递;
一般会将数据库相关配置放在外面,通过<properties resource="">将外部配置的文件引入到核心配置文件中。
2:使用配置解决驼峰映射问题
|
mapUnderscoreToCamelCase |
是否开启自动驼峰命名规则(camel case)映射,即从经典数据库列名 A_COLUMN 到经典 Java 属性名 aColumn 的类似映射。 |
主要是解决数据库中的列和实体类中的属性不一致的问题
注意:解决的是实体的属性和数据库列仅仅是因为大小写或者下划线原因导致映射不了的问题,对于属性名和数据库列不一样的情况是解决不了的。
3:typeAliases(别名)
1:一般别名配置
类型别名是为 Java 类型命名的一个短的名字。它只和 XML 配置有关,存在的意义仅在于用来减少类完全限定名的冗余。
可以使用<typeAliases>来设置别名,在新建别名的时候,一般会创建两个,一个大写开始一个小写开始

2:配置扫描包
开发的时候,为了方便,我们经常会配置扫描包:

注意:如果使用了扫描包,创建的别名默认是类名,大小写都是可以使用的。
3:提供的默认别名
已经为普通的 Java 类型内建了许多相应的类型别名。它们都是大小写不敏感的,需要注意的是由于重载原始类型的名称所做的特殊处理。


4:environments(环境)
Mybatis允许配置多个环境,比如说开发环境、测试环境、生产环境,但是在构建SqlSessionFactory时只能选择一个。虽然这种方式也可以做到很方便的分离多个环境,
但是在实际使用场景下我们都是更多的使用Spring来管理数据源,做环境的分离。
5:映射器的引入
既然 MyBatis 的行为已经由上述元素配置完了,我们现在就要定义 SQL 映射语句了。但是首先我们需要告诉 MyBatis 到哪里去找到这些语句。
Java 在自动查找这方面没有提供一个很好的方法,所以最佳的方式是告诉 MyBatis 到哪里去找映射文件。

浙公网安备 33010602011771号