软件开发中的框架
- 框架是可被应用开发者定制的应用骨架
- 框架是一种规则,保证开发者遵循相同的方式开发程序
- 不重复造轮子,对基础功能进行封装
框架的优点
- 提高开发效率
- 统一的编码规则,利于团队管理
- 灵活配置的应用,拥有更好的维护性
SSM开发框架
- Spring
- 框架的框架
- SpringMVC
- 对程序解耦,替代Servlet进行web开发
- MyBatis
- 简化数据库交互,对JDBC进行了封装和扩展
什么是MyBatis
- 持久层框架 DAO
- 使用XML将SQL与程序解耦,便于维护
- 当SQL需要改变时,只需要改变XML文件,不需要重新编译
- 学习简单,执行高效,是JDBC的延伸
MyBatis开发流程
- 引入MyBatis依赖(使用Maven)
- 创建核心配置文件
- 创建实体类(entity, POJO)
- 创建Mapper映射文件(AutoMapper)
- 初始化SessionFactory
- 读取配置文件,加载Mapper映射
- 利用SqlSession对象操作数据
单元测试与Junit
- 单元测试是指对软件中的最小可测试单元进行检查和验证
- 测试用例(test case)是指编写一段代码对已有功能进行校验
- Junit是Java中最著名的单元测试工具
Junit使用方法
- 引入Junit JAR或者增加Maven依赖
- 编写测试用例验证目标方法是否正确运行
- 在测试用例上增加@Test注解开始单元测试
MyBatis环境配置
- mybatis-config.xml
- XML格式配置数据库环境信息
- 包含数据库驱动,URL,用户名,密码
mybatis-config.xml
1 | <configuration> |
SqlSessionFactory
- MyBatis的核心对象
- 初始化MyBatis,创建SqlSession对象
- 保证SqlSessionFactory在应用中全局唯一
SqlSession
- 是MyBatis操作数据库的核心对象
- 使用JDBC方式与数据库交互,是原有JDBC的扩展
- 提供了数据表CRUD对应方法
1 | public void testSqlSessionFactory() { |
MyBatisUtils初始化工具类
1 | // MyBatis工具类,利用创建全局唯一的SqlSessionFactory对象 |
MyBatis数据查询
- 创建实体类(entity)
- 创建Mapper XML
- 编写select SQL标签
1 | <?xml version="1.0" encoding="UTF-8" ?> |
- 开启驼峰命名映射
1 | <settings> |
- 新增
<mapper>
1 | <mappers> |
- SqlSession执行sql语句
1 | List<Goods> list = session.selectList("goods.selectAll"); |
SQL传参
- 使用parameterType=”Integer“
1 | <select id="selectById" parameterType="Integer" resultType="entity.Goods"> |
多参数
- 使用Map数据结构传入多个参数
1 | <select id="selectByPriceRange" parameterType="java.util.Map" resultType="entity.Goods"> |