第一天:
1:mybatis入门
什么是框架?
框架是软件或者项目开发中的的一套解决方案,不同的框架解决不 同的问题。框架封装了很多细节,提高开发效率。
三层架构
表现层:展示数据
业务层;处理业务
持久层:和数据库做交互
持久层技术解决方案
jdbc技术:
connection
preparedStatement
resultSet
Spring的jdbcTemplate
spring中的jdbc的简单封装
Apache的DBUtils
它和spring的jdbcTemplate很像,也是对jdbc的简单封装
jdbc是规范,Spring的jdbcTemplate和Apache的DBUtils都只是工具类
2:mybatis概述
持久层框架,内部封装jdbc,只需要关注sql就行。
采用orm思想解决实力类和数据库映射的问题。
什么是orm?
object relational mapping 对象关系映射
就是:数据库表和实体类以及实体类的属性对应起来,让我们可以 操作实体类就实现操作数据库。
3:mybatis环境搭建
首先:idea创建maven工程(不勾选)
然后:在mysql中执行sql语句,创建数据库和表(可以自己随意创建一个数据和表就行,里面字段自己添加)到此maven工程准备完毕
下来:给新建的项目添加打包方式和引入相关依赖的jar包
sql建表语句和插入语句
CREATE TABLE user
(
id
int(255) NOT NULL AUTO_INCREMENT,
username
varchar(255) DEFAULT NULL,
birthday
varchar(255) DEFAULT NULL,
sex
varchar(255) DEFAULT ‘’,
address
varchar(255) DEFAULT NULL,
PRIMARY KEY (id
)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;
INSERT INTO user
VALUES (1, ‘张三’, ‘2019-07-01 11:17:02’, ‘男’, ‘杭州’);
INSERT INTO user
VALUES (2, ‘李四’, ‘2019-07-01 11:17:02’, ‘男’, ‘杭州’);
INSERT INTO user
VALUES (3, ‘王麻子’, ‘2019-07-01 11:17:02’, ‘男’, ‘杭州’);
INSERT INTO user
VALUES (4, ‘汉邦’, ‘2019-07-01 11:17:02’, ‘男’, ‘杭州’);
INSERT INTO user
VALUES (5, ‘汉邦’, ‘2019-06-29 14:53:00’, ‘男’, ‘杭州’);
INSERT INTO user
VALUES (6, ‘汉邦’, ‘2019-07-01 11:17:02’, ‘女’, ‘杭州’);
创建包结构和实体类:
创建mybatis的主配置文件和映射文件
环境搭建注意事项:
第一个:创建IUserDao.xml和IUserDao.java时名称是为了和之前知识保持一致,在mybatis中它把持久层的操作接口名称和映射文件也叫做Mapper,所以IUserDao和IUserMapper是一样的。
第二个:在idea中创建目录的时候 和包是不一样的,创建包是三级结构,创建目录是一级结构。
第三个:mybatis的映射文件位置必须和dao接口的包结构相同
第四个:映射文件的mapper标签namespace属性取值必须是dao接口的全限定类名
第五个:映射文件的操作配置,id属性必须是dao接口的方法名。
4:mybatis入门案例
导入log4j配置文件
执行之后发现会报错
中不到返回类型,需要在dao的映射文件中添加返回类型