Spring JDBC
优点:简化编程,spring jdbc对常见的jdbc操作进行了封装,使用spring jdbc提供的方法来访问数据更简洁;对底层
的异常统一进行了处理,转换成了RuntimeException‘
编程步骤:
1)在配置文件(spring-mvc.xml)配置了jdbcTemplate(该类封装了常见的一些jdbc操作);
2)在DAO类当中,注入jdbcTemplate;
3)调用jdbcTemplate的方法完成相应的数据库操作;
异常处理:
1)使用简单的异常处理器(一般适合处理系统异常);
1.1)配置异常处理器simpleMappingExceptionResolver;
1.2)编写相应的异常处理页面;
2)使用ExceptionHandler
2.1)在二级控制器当中添加处理异常的方法(eg: handlerException),并且,在该方法前面添加@ExceptionHandler;
2.2)在异常处理方法里面,对不同的异常分别进行相应的处理;
2.3)编写异常处理页面;
Mybatis
MyBatis简介
MyBatis是对JDBC技术的封装,用于访问数据库操作;
MyBatis对JDBC功能做了以下封装:
1)封装获取连接,执行sql,释放连接过程(规则:将连接参数写在MyBatis主配置文件中);
2)封装了根据SQL生成statement,给sql设置参数值(规则:在SQL编写时利用#{属性}代替?,cost对象——>#{属性}
表达式提取参数信息);
3)封装了装ResultSet数据封装成实体对象的过程(规则:默认查询结果集字段名与实体对象的属性名一致);
MyBatis体系结构
sqlMapConfig.xml作用:存储连接db参数,定义存储sql的xml文件;
实体类作用:作为增删改sql输入参数,作为查询的返回类型;
sql定义文件作用:存储sql语句;
sqlSession作用:执行sql操作;
MyBatis主要API
1)sqlSessionFactoryBuilder加载sqlMapConfig,xml;
2)sqlSessionFactory
3)SqlSession
Mapper映射器接口
EmpMapper.xml——>Mapper接口(Dao接口)——>MyBatis生成实体类(Dao实现)
一套接口规则,程序员按照该规定定义接口,MyBatis就可以动态生成接口的实现类;
1:SQL定义文件的<mapper namespace="对应的接口类型">
2:定义接口方法规则
sql定义的id名对应接口方法名,parameterType类型对应接口方法返回类型;
(单行resultType类型,多行list<resultType类型>),(EmpDao dao=session.getMapper(EmpDao.class));