一.为什么要使用框架,为什么选用MyBatis框架?
1.使用框架能够提高开发效率,节省时间就是节约金钱,使用框架能够避免大量代码的重复,框架能帮我们完成很多事情如一些基础的通用工作,比如事务处理,安全性,数据流控制等都可以让框架来帮我们实现,而程序员只用专注系统的业务逻辑的设计,框架还可以协同开发
2.MyBatis是支持定制化SQL,存储过程以及高级映射的优秀的持久层框架,MyBatis几乎避免了几乎所有的JDBC代码和手动设置参数,以及获取结果集。MyBatis可以对配置和原生Map使用简单的XML或注解,将接口和java的pojo(普通对象,可以成模型对象)映射成数据库中的记录
3.MyBatis的优点
① 与JDBC相比,减少了50%以上的代码量。
②MyBatis是最简单的持久化框架,小巧并且简单易学。
③MyBatis相当灵活,不会对应用程序或者数据库的现有设计强加任何影响,SQL写在XML里,从程序代码中彻底分离,降低耦合度,便于统一管理和优化,并可重用。
④提供XML标签,支持编写动态SQL语句。
⑤提供映射标签,支持对象与数据库的ORM字段关系映射。
4.MyBatis框架的缺点:
- SQL语句的编写工作量较大,尤其是字段多、关联表多时,更是如此,对开发人员编写SQL语句的功底有一定要求。
- SQL语句依赖于数据库,导致数据库移植性差,不能随意更换数据库。
5.MyBatis框架适用场合:
MyBatis专注于SQL本身,是一个足够灵活的DAO层解决方案。
对性能的要求很高,或者需求变化较多的项目,如互联网项目,MyBatis将是不错的选择。
二.使用MyBatis实现数据的增删改查步骤
1.导jar包(mysql的驱动包,和mybatis的核心包)
2.创建resources文件,书写mybatis-config.xml配置文件



3.抽取db.properties文件
4.书写xxx.Mapper.xml文件

5.抽取MyBatisUtil工具类
1.普通方法
public class MyBatisUtil {private static SqlSessionFactory factory;static {try {InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");factory = new SqlSessionFactoryBuilder().build(inputStream);} catch (IOException e) {e.printStackTrace();}}public static SqlSession openSession(){return factory.openSession();}}
2.枚举法
public enum MyUtil {ME;private static SqlSessionFactory factory = null;static {try {InputStream stream = Resources.getResourceAsStream("mybatis-config.xml");factory = new SqlSessionFactoryBuilder().build(stream);} catch (IOException e) {e.printStackTrace();}}public SqlSession openSession(){return factory.openSession();}}
6.创建dao层书写增删改查接口和实现类实现接口
7.在实现类层实现
步骤:①加载配置文件②创建工厂对象③通过工厂对象获取sqlSession对象④执行sql语句(若是查询操作,要返回结果集)⑤提交事务⑥释放资源

8.书写测试类进行测试

