Mybaties入门知识

D7)ASYQ))EIO5NYHVW8.png

什么是Mybatis?

是一个基于JAVA的持久层框架

为什么要使用mybatis?

mybatis 是ORM的一种实现框架,都是对JDBC的封装!在使用JDBC的时候,我们发现开发太麻烦了,什么么都要我们干Hibernate用起来就比较舒服,不用写SQL语句但是不能处理复杂的业务逻辑。但是mybatis既能够处理复杂的业务逻辑。又能在一定程度上解放开发人员的双手。

1.1Mybatis 快速入门

1.1.1导入开发包

导入Mybatis开发包

Mybatis jar

log4j jar(日志)

导入MySQL开发包Mysql-connector jar

导入测试包junit

导入druid数据源Druid数据源

根据需要导入lombok(set get toString 有无构造器)lombok jar

导入PageHelper(分页)PageHelper jar

1.1.2数据库和实体类

1.建数据库的表

2.建实体类

1.1.3创建Mybatis的配置文件

mybatis的配置文件是为了配置数据库的信息。

1.找到连接池的位置(连接池里面的数据库连接的信息)比喻成原料,信息

//加载类路径下的属性文件

2.配置连接池的环境 比喻成加工的机器,指令

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

3.引入映射文件


 
 

1.1.4创建mybaties的映射文件

如果数据库的字段名和实体类的属性名一致就只需要做两步

  1. namespace
  2. sql 语句






如果数据库的字段名和实体类的属性名不一致

  1. namespace
  2. 实体类属性名和数据库字段名自定义映射
  3. sql语句





 
  
 
 
 
 


1.1.4.1其他一些配置



     









QQ20200818164932.png

1.1.5实现数据库的访问

为了更方便的访问Mybaties,不需要频繁的创建SqlSessionFactory和SqlSession对象

封装一个MybatisUtil的工具类

public class MybatiesUtil{
private static SqlSessionFactory factory =null;
public static SqlSessionFactory getSqlSessionFactory(){
if (factory==null){
//获取环境配置文件
InputStream inputStream =null;
try{
inputStream =Resource.getResourceAsStream("MybatiesConfig.xml");
//创建sql会话工厂
factory=new SqlSessionFactory().build(inputStream);
} catch(IOExcept){
e.printStackTrace();
}
}
return factory;
}
//获得会话
public static SqlSession getSession(){
return getSqlSessionFactory().openSession(true);

}
//关闭session对象
public static SqlSession getSession(){
return getSqlSessionFactory().openSession().close();
}
}

1.1.6添加日志信息

在resources文件夹下创建log4j.properties文件,编辑后的内容如下所示:


# 在开发环境下日志级别要设置成DEBUG,生产环境设置成info或error 
log4j.rootLogger=debug, stdout 
log4j.appender.stdout=org.apache.log4j.ConsoleAppender 
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 
log4j.appender.stdout.layout.ConversionPattern=%-d{yyyy-MM-dd HH\:mm\:ss} -%m%n 
log4j.logger.org.mybatis.example.BlogMapper=TRACE

1.1.7dao接口的实现

  1. 面向接口编程
  • 建一个接口
  • 建一个实现类实现接口
  1. Mapper动态代理(推荐)
  • 建一个接口
  • QQ20200818164359.png

1.1.8测试

public class BookTypeTest{

@Test
public void testSelectFindByid(){
BookMapper bookMapper=MybatisUtil.getSession().getMapper(BookMapper.class);
Book book =bookMapper.selectFindbyId(7);
System.out.println(book.toString());
}

}

你可能感兴趣的:(Mybaties入门知识)