目录
1.MyBatis的介绍
2. 工程搭建
3.配置文件
4. 关于做级联插入的时候,需要返回一个id
如果有主键的话就像上边一样搞就可以返回主键,如果没有主键,需要我们自己设置的话,我们可以自己设置,配置代码如下:
5.Mybatis的架构体系:
6. Mybatis Dao 开发方式
传统的开发方式,创建接口,创建实现类
官方推荐的方式接口,只需要提供一个,然后配置文件遵守相应的规则,就可以。
7.SqlMapConf.xml配置
关于properties我们可以这样玩:
别名的配置
关于加载映射文件的配置:
1.MyBatis的介绍MyBatis本是apache的一个开源项目iBatis,2010年这个项目由apache software foundation迁移到了google code,并且改名为MyBatis。2013年11月迁移到Github。
MyBatis的是面向SQL的持久层框架,他封装了JDBC访问数据库的过程,我们开发,只需专注于SQL语句本身的拼装,其它复杂的过程全部可以交给MyBatis的去完成。
2. 工程搭建- 导入依赖的jar包,在课前资源中有
- 配置SqlMapConfig.xml,可参考课前资料
- 配置log4j.properties,可参考课前资料
- 在课前资料复制POJO到工程目录下
- 配置SQL查询的映射文件,可参考课前资料
- 加载映射文件
名为 SqlMapConfig.xml
创建实体类和查询语句的映射文件
SELECT
`id`,
`username`,
`birthday`,
`sex`,
`address`
FROM
`user`
WHERE id=#{id}
4. 关于做级联插入的时候,需要返回一个id
第一种方案
SELECT LAST_INSERT_ID()
第二种方案:
第二种方案就是第一种的简写,底层调用了 SELECT LAST_INSERT_ID()
如果有主键的话就像上边一样搞就可以返回主键,如果没有主键,需要我们自己设置的话,我们可以自己设置,配置代码如下:
SELECT UUID()
insert into `mybatis`.`user` (
`username`,
`birthday`,
`sex`,
`address`,
`uuid2`
)
values
(
#{username},
#{birthday},
#{sex},
#{address},
#{uuid2}
);
5.Mybatis的架构体系:
- 传统的开发方式,创建接口,创建实现类
接口——>实现类
接口:
实现类:
测试类:
- 官方推荐的方式接口,只需要提供一个,然后配置文件遵守相应的规则,就可以。
想要使用动态代理需要满足以下规则;
动态代需要写实理的好处就是不现类,就可以完成相应的业务操作
不需要实现类,可以创建一个动态代理
测试类如下:
一旦和spring整合以后就会变的更加简单。
7.SqlMapConf.xml配置
- 关于properties我们可以这样玩:
将数据库的链接字符串拿出来:
(需要注意的是:如果同时配置了红色框,和红色框下边的内容,根据加载顺序,红色框里边引入的外部文件的数据会自动把内部标签的数据覆盖掉)
一旦这样配置以后,
连接字符串就可以单独拿出来,这样做是方便维护的。
- 别名的配置
配置单个别名
使用包扫描的方式直接不用我么手动的配置,直接扔一个包的全路径进去,就可以了(包扫描的方式是推荐的)
- 关于加载映射文件的配置:
想要使用映射文件的包扫同样需要满足条件。(映射文件的和接口在同一路下,接口与映射文件的名称相同)
包扫描: