1、数据校验
Validation数据校验(1)实现org.springframework.validation.Validator接口,在代码中调用这个类(2)按照BeanValidation方式来校验,通过注解方式(3)基于方法实现校验(4)自定义校验
2、AOT提前编译
JIT(just in time)动态编译(实时),边运行边编译
AOT(ahead of time)运行前编译,提前编译
3、SpringMvc
4、MyBatis
面向接口编程
基于Java的持久层框架
核心配置中建议名称为mybatis-config.xml
<environments>中配置连接数据库的信息
<mappers>引入映射文件
创建mapper接口
Mybatis中的mapper接口相当于之前的dao,区别是mapper是接口不需要提供实现类
MyBatis映射文件ORM(object relationship mapping) 对象关系映射对象 Java的实体类对象关系 关系型数据库映射 二者之间的对应关系
MyBatis面向接口编程的两个一致性:(1)映射文件中的namespace要和mapper接口中的全类名保持一致(2)映射文件中的SQL语句的id要和mapper接口的方法名一致映射文件<mapper namespace="mapper接口的全类名"><insert/query/delete/update id="接口的方法名">SQL语句</insert/query/delete/update></mapper>
表--实体类--mapper接口--映射文件
引入映射文件(核心配置中)
<mappers><mapper resource="映射文件路径"/>
</mapers>
5、测试类
加载核心配置文件InputStream is=Resource.getResourceAsStream("核心配置文件")
获取SqlSessionFactoryBuilderSqlSessionFactoryBuilder sqlsessionFactory=sqlSessionFactoryBuilder.build(is)
获取sqlsession-->Java与sql之间的关系SqlSession sqlsession=sqlSessionFactory.openSession();//后面要手动设置提交事务SqlSession sqlsession=sqlSessionFactory.openSession(True);//后面会自动提交事务不需要手动设置
获取mapper接口对象,底层自动创建一个实现类并返回UserMapper mapper=sqlSession.getMapper(UserMapper.class)
测试功能int result=mapper.insertUser(); //方法名
提交事务因为配置方法底层是JDBC因此要手动提交事务,或者在获取sqlsession一步设置自动提交事务sqlSession.commit();
查询映射文件中在设置sql语句时要设置resultType或resultMapresultType:设置默认的映射关系,字段名与属性名一致resultMap:设置自定义的映射关系<select id="getUserId" resultType="com.atgui.mybatis.pojo.User">//resultType指明返回结果的解析类型sql</select>
查询单个User getUserById();
查询多个List<User> getAllUser();
6、核心配置文件设置
核心配置文件中数据库连接信息设置(1)设置xxx.properties文件(2)在核心配置文件中引入xxx.properties文件<properties resource="xxx.prooerties">(3)对应属性位置使用${key}去使用xxx.properties中的键值对信息
设置类型别名(resultType)不区分大小写<typeAliases>MyBatis严格要求标签先后顺序<typeAlias type="全类名",alias="别名"></typeAlias></typeAliases>若不设置alias,默认类名为别名且不区分大小写,或者<typeAliases><package name=包名/></typeAliases>以包为单位,对包下所有的类型设置默认类型别名,且不区分大小写
以包为单位引入映射文件<mappers><package name="com.atgui.myabtis.mapper"/></mappers>要求:(1)mapper接口所在的包要和映射文件所在的包一致(2)mapper接口要和映射文件的名字一致
注意:java中可以使用.作为分隔符来建包resource使用/作为分隔符来建包(文件夹形式)