原始JDBC存在的问题
- 数据库连接,释放频繁造成系统资源浪费,影响系统性能。
- sql语句在代码中硬编码,不易维护
- 查询结果封装到实体需要手动封装
解决办法
- 使用数据库连接池初始化连接资源
- 将sql语句抽取到xml配置文件中
- 使用反射,内省等底层技术,自动将实体与表的字段进行映射
Mybatis
- Mybatis是一个基于java的持久层框架,内部封装了jdbc,使开发者只需要关注sql语句本身。通过xml或者注解的方式将要执行的statement配置起来。会将结果映射为java对象并返回。
Mybatis开发步骤
- 添加mybatis的坐标
- 创建数据库表
- 编写数据库表对应的java实体类
- 编写映射文件UserMapper.xml(sql语句)
- 编写核心配置文件SqlMapConfig.xml(Mybatis默认事务是不提交的)
![00904c0fb4d6dbe365a14a32064d9b5a.png](https://img-blog.csdnimg.cn/img_convert/00904c0fb4d6dbe365a14a32064d9b5a.png)
![9cb22303bdc6fec5ad8009d4714a9e05.png](https://img-blog.csdnimg.cn/img_convert/9cb22303bdc6fec5ad8009d4714a9e05.png)
MyBatis的xml加载外部properties配置文件
<properties resource="文件名.properties"/>
Spring的xml加载外部properties配置文件
<context:property-placeholder location="classpath:jdbc.properties"/>
![709a6a988f9b617bb075ca2eefc21d57.png](https://img-blog.csdnimg.cn/img_convert/709a6a988f9b617bb075ca2eefc21d57.png)