小工具
JDBC->Dbutils(QuertRunner)->JdbcTemplate
JDBC是纯手工的。
JDBC执行步骤:
缺点:
功能简单,sql语句编写在java代码里面,硬编码,高耦合
框架
与小工具不同,是整体的解决方案,需要考虑更多因素。
hibernate
简介
全自动ORM(object relation mapping)框架,旨在消除sql,ORM即每一个java的bean对象,映射数据库一个记录。
缺点
1.黑箱操作,无法自定义sql语句等等关键操作。
2.全映射,需要学习HQL,和hibernate的查询操作,加重学习负担。
Mybatis
简介
优秀的持久化层框架,即与数据库交互的框架。
半自动框架,因为sql由开发人员写,不失去灵活性。
轻量级的框架。
优点
1.将编写sql提取出来写成配置文件,不是黑箱操作。其余四步自动完成。sql与java编码分离,由开发人员控制。(sql语句定制化,其他语句自动化)
2.只需要掌握sql。
下载
https://github.com/mybatis/mybatis-3
下载相关jar包:
或者点击Releases:
官方文档
http://mybatis.github.io/mybatis-3/
建立项目
需要mybatis的jar包
打印日志:log4j.jar以及log4j.xml
与数据库交互:需要驱动mysql-connector-java-…-bin.jar
每一个mybatis运用需要sqlsessionfactory的xml,(也可以不用配置文件)官方文档有示例:
datasource部分需要改为自己的数据源,例如:
(eclipse打包:Ctrl+shift+o)
mapper中的resource需要改成自己的配置文件路径:(将写好的sql映射文件注册到全局配置文件当中)
openSession的selectOne方法两个参数:
opensession后要关掉:openSession.close()
第一个参数推荐使用下例xml中namespace+id的写法(其中的id是下例映射配置中的id):
探究已映射的sql语句的xml
起别名:last_name起别名为lastName