MyBatis简单入门

MyBatis
是apache下的一个产品,ibatis改名叫做Mybatis,是一个半ORM(对象关系映射)持久层框架;
mybatis入门

  1. 引入依赖
    org.mybatis mybatis 3.2.8 mysql mysql-connector-java 5.1.24

  2. 全局配置文件

  3. 配置**Mapper.xml
    id="selectUser" resultType="com.zpc.mybatis.User"> select * from tb_user where id = #{id}

  4. 修改全局配置文件,把**Mapper.xml加入到全局配置文件中
    //加载**Mapper.xml配置文件

  5. 构建sqlSessionFactory(Test.java)
// 指定全局配置文件 String resource = "mybatis-config.xml"; // 读取配置文件 InputStream inputStream = Resources.getResourceAsStream(resource); // 构建sqlSessionFactory SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

6,打开sqlSession会话,并执行sql(Test.java)
// 获取sqlSession SqlSession sqlSession = sqlSessionFactory.openSession(); // 操作CRUD,第一个参数:指定statement,规则:命名空间+“.”+statementId // 第二个参数:指定传入sql的参数:这里是用户id User user = sqlSession.selectOne("MyMapper.selectUser", 1); System.out.println(user);

mybatis使用步骤总结
  • 配置mybatis-config.xml全局的配置文件(1、数据源,2、外部的Mapper.xml文件)
  • 创建SqlSessionFactory
  • 通过SqlSessionFactory创建SqlSession对象
  • 通过SqlSession操作数据库CRUD
  • 调用SqlSession.commit()提交事务
  • 调用SqlSession.close()关闭会话
开发方式
1、Dao接口+Dao实现类+XML映射文件(不建议使用,较繁锁)
具体实现细节:通过在Dao接口的实现类中调用SqlSession的方法,与传统的在实现类中调用JDBC提供的一系列执行sql的方法大同小异
2、Dao接口+XML映射文件:mapper动态代理(一般使用这个)
要求:
接口的名称与配置文件的namespace(命名空间)一致
接口中方法名与配置文件中的id相对应
参数类型相同
具体实现:创建满足上述条件的Dao接口以及XML映射文件,使用SqlSession提供的getMapper(Class arg0); 由Mybatis自动创建具体的实现类
3、Dao接口+Annotation(注解)(仅用于简单的sql语句,复杂的sql使用该方式太繁琐,不易于维护)
具体实现:在Dao接口的方法上加入对应操作的Annotation,获得接口实现类的方法与Dao接口+映射文件方法相同(SqlSession 的getMapper()方法)
要求:需要使用配置文件(configuration.xml)中的子标记,name属性对应具有Annotation的接口的包名
示例:【MyBatis简单入门】

    推荐阅读