持久层技术的解决方案有哪些?
JDBC技术、Spring的JdbcTemplate,他们都不是框架,JdbcTemplate只是工具类。
jdbc对操作数据库有什么问题呢?
jdbc操作需要操作对象,对象的创建和调用方法比较繁琐。
mybatis是什么?
是一个持久框架,它使用了ORM思想实现了结果集的封装。
包名为什么要取成Dao?
Dao包里面写的是接口。Dao是数据访问层(Data Access Object)。
为什么持久层的映射文件中的select标签中,一定要返回给User类?
需要把结果封装到User类中,然后才可以显示出来。
SqlMapConfig.xml 配置文件和持久层的映射文件有什么区别?
映射文件的文件名称就是需要和自己创建的实现类要同名,配置文件是在 配置环境。
配置数据源有三个,哪三个?
其中一个type的配置:
相对于持久层的映射文件IUserDao.xml,为什么采用注解更好呢?那在xml的基础上怎么修改呢?
注解的话就,不用映射文件xml的配置id,指定封装的结果等
把IUserDao.xml移除,在dao接口的方法上使用@Select注解,并且指定SQL语句同时需要在SqlMapConfig.xml中的 mapper配置时,使用class属性指定dao接口的全限定类名。
工厂模式的优势是什么?
new一个新对象,就不用在重新修改源码,重新编译,部署;解耦,降低类之间的依赖关系。
代理模式优势是什么?
在不修改源码的基础上对已有的方法进行增强。
构建者模式的优势是什么?
把对象的创建细节隐藏了,使用者直接调用方法就可以拿到对象了。
mybatis只能进行查询操作吗?不能进行DML语句吗?
可以的,参考:详情链接