怎么快速配置一个Mybatis环境
创始人
2024-12-28 20:22:14
0次

一、mybatis环境配置

1.通过maven的pom.xml文件引入mybatis需要的包

在其标签中添加如下代码

 
      org.mybatis
      mybatis
      3.5.1
 

2.在src/main/resources下新建mybatis-config.xml文件

并进行xml文件和config的dtd文件的声明

  
  

3.在mybatis-config.xml文件中的中对数据库进行配置


  

    
  
  
  
    
      
      
      
      
        
        
        
        
      
    
  

4.通过SqlSessionFactory构建SqlSession会话实例

每个基于 MyBatis 的应用都是以一个 SqlSessionFactory 的实例为核心的。SqlSessionFactory 的实例可以通过 SqlSessionFactoryBuilder 获得。而 SqlSessionFactoryBuilder 则可以从 XML 配置文件或一个预先配置的 Configuration 实例来构建出 SqlSessionFactory 实例。

从 XML 文件中构建 SqlSessionFactory 的实例非常简单,建议使用类路径下的资源文件进行配置。 但也可以使用任意的输入流(InputStream)实例,比如用文件路径字符串或 file:// URL 构造的输入流。MyBatis 包含一个名叫 Resources 的工具类,它包含一些实用方法,使得从类路径或其它位置加载资源文件更加容易。

通常SqlSession是全局唯一的,通过MybatisUtils工具类减少重复代码

public class MybatisUtils {
  //利用static静态 属于类而不属于对象 , 保证全局唯一
  private static SqlSessionFactory sqlSessionFactory = null ;
  //利用静态块在初始化类时实力话SqlSessionFactory
  static {
    Reader reader = null;
    try {
      reader = Resources.getResourceAsReader("mybatis-config.xml");
      sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader) ;
    } catch (IOException e) {
      e.printStackTrace();
      //初始化过程中出现的异常
      throw new ExceptionInInitializerError(e) ;
    }
  }

  /**
   * 创建一个新的sqlsession对象
   * @return sqlsession对象
   * */

  public static SqlSession openSession(){
    return sqlSessionFactory.openSession() ;
  }

  public static void closeSession(SqlSession sqlSession){
    if(sqlSession != null ){
      sqlSession.close();
    }
  }

}

5.通过SqlSession对数据库进行操作

在entity包下创建要操作的数据库表对应的实体类(必须使用驼峰命名和设置get和set方法),同时在resources目录下创建mappers目录,在mappers目录下创建与该实体类同名的xml文件,在对其进行xml声明和mapperdtd文件声明(注意与mybatis-config.xml的dtd文件声明的区别)


然后在mybatis-config.xml文件引入该实体与数据库的映射。即在其标签中添加映射xml文件路径

 
    
    
 

当数据库列字段名为多单词且用"_"拼接时,还需在其标签中开启驼峰命名转换,使Mybatis自动完成映射。

 

    
 

到此为止,mybatis需要的配置就已全部完成。

运行程序测试结果

在 src 源码目录下建立 一个类叫作:HelloWord, 来运行测试配置环境是否成功,具体代码如下示:

import java.io.Reader;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import com.yiibai.mybatis.models.*;

/**
 * 
 * @author yiibai
 * @copyright //www.jb51.net
 * @date 2015/09/22
 */
public class HelloWord {
 private static SqlSessionFactory sqlSessionFactory;
 private static Reader reader;

 static {
 try {
  reader = Resources.getResourceAsReader("config/Configure.xml");
  sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
 } catch (Exception e) {
  e.printStackTrace();
 }
 }
 public static SqlSessionFactory getSession() {
 return sqlSessionFactory;
 }
 /**
 * @param args
 */
 public static void main(String[] args) {
 // TODO Auto-generated method stub
 SqlSession session = sqlSessionFactory.openSession();
 try {
  User user = (User) session.selectOne(
   "com.yiibai.mybatis.models.UserMapper.GetUserByID", 1);
  if(user!=null){
  String userInfo = "名字:"+user.getName()+", 所属部门:"+user.getDept()+", 主页:"+user.getWebsite();
  System.out.println(userInfo);
  }
 } finally {
  session.close();
 }
 }
}

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...