MyBatis配置文件的详解和LOG4J实现

MyBatis配置文件的详解

mybatis-config文件解析




configuration 配置
	properties   用于配置属性信息。
    settings     用于配置MyBatis的运行时方式。
    typeAliases   配置类型别名,可以在xml中用别名取代全限定名。
    typeHandlers 配置类型处理器。
    objectFactory  对象工厂 
    plugins   插件 配置拦截器,用于拦截sql语句的执行。
    environments  环境 配置数据源信息、连接池、事务属性等
		transactionManager : 事务管理
		dataSource : 数据源
	mappers 映射器 配置SQL映射文件。

properties

配置properties采用键值对的格式进行配置。

文件内配置properties




    ......

文件外配置properties


“config.properties”中的内容如下所示:

name1:value1 
name2:value2 
name3:value2 
...... 
nameN:valueN

settings

该项配置格式如下所示:


  
  
  
        ...... 
  
 

一个设置信息元素的示例,完全的配置如下所示:


  
  
  
  
  
  
  
  
  
  
  
  
  
 

typeAliases


  
  
  
  
  
  

类型别名必须遵循MyBatis命名规范。

typeHandlers

无论是 MyBatis 在预处理语句中设置一个参数, 还是从结果集中取出一个值时, 类型处 理器被用来将获取的值以合适的方式转换成 Java 类型。下面这个表格描述了默认的类型处 理器。

类型处理器 Java 类型 JDBC 类型
BooleanTypeHandler java.lang.Boolean, boolean 任何兼容的布尔值
ByteTypeHandler java.lang.Byte, byte 任何兼容的数字或字节类型
ShortTypeHandler java.lang.Short, short 任何兼容的数字或短整型
IntegerTypeHandler java.lang.Integer, int 任何兼容的数字和整型
LongTypeHandler java.lang.Long, long 任何兼容的数字或长整型
FloatTypeHandler java.lang.Float, float 任何兼容的数字或单精度浮点型
DoubleTypeHandler java.lang.Double, double 任何兼容的数字或双精度浮点型
BigDecimalTypeHandler java.math.BigDecimal 任何兼容的数字或十进制小数类型
StringTypeHandler java.lang.String CHAR 和 VARCHAR 类型
ClobTypeHandler java.lang.String CLOB 和 LONGVARCHAR 类型
NStringTypeHandler java.lang.String NVARCHAR 和 NCHAR 类型
NClobTypeHandler java.lang.String NCLOB 类型
ByteArrayTypeHandler byte[] 任何兼容的字节流类型
BlobTypeHandler byte[] BLOB 和 LONGVARBINARY 类型
DateTypeHandler java.util.Date TIMESTAMP 类型
DateOnlyTypeHandler java.util.Date DATE 类型
TimeOnlyTypeHandler java.util.Date TIME 类型
SqlTimestampTypeHandler java.sql.Timestamp TIMESTAMP 类型
SqlDateTypeHandler java.sql.Date DATE 类型
SqlTimeTypeHandler java.sql.Time TIME 类型
ObjectTypeHandler Any 其他或未指定类型
EnumTypeHandler Enumeration Type VARCHAR-任何兼容的字符串类型, 作为代码存储(而不是索引)
EnumOrdinalTypeHandler Enumeration Type Any compatible NUMERIC or DOUBLE, as the position is stored (not the code itself).

你可以重写类型处理器或创建你自己的类型处理器来处理不支持的或非标准的类型。

mappers


  
  
  
    ...... 
   

优化配置文件

创建一个database.properties

driver = com.mysql.jdbc.Driver
url = jdbc:mysql://localhost:3306/mybatis?useSSL=true&useUnicode=true&characterEncoding=utf-8
username = root
password = 123456

在mybatis核心配置文件中引入properties配置文件,并用${}表达式引入其中的值


    
    

    
        
            
            
                
                
                
                
            
        
    
    
        
    

优化别名

注意点:位置必须正确



    
    
    
    

优化完毕后我们在mapper映射文件中就可以使用别名了





    
    
    
    
    
        insert into user(id ,name, pwd) values (#{id},#{name},#{pwd})
    
    
        delete from user where id = #{id}
    
    
        update user set name =#{name},pwd = #{pwd} where id = #{id}
    

环境配置


    
        
        
            
            
            
            
        
    

映射器

  1. resource 【推荐】
  2. url
  3. class
  4. package


  
  
  

解决属性和字段名不一致

字段名:数据库 id name pwd

属性名:实体类 id name password

select * from user 等价于 select id,name,pwd from user;

mybatis会根据数据库的字段名去找对应的实体类的属性名,(他会将所有列名转换为小写,然后去找实体类中对应的 set方法 ,set方法后面的字段就对应数据库的字段名;如果不一样就会返回null



    
    
    
    


LOG4J实现

log4 java :Java日志的实现

日志—>控制台

boolean flag = true;
public void isPrint(String msg){
    if (flag){
        System.out.print(msg);
    }else{
    }
}

Log4j依赖



    log4j
    log4j
    1.2.17

log4j的配置文件

log4j.properties

### Log4j配置 ###
#定义log4j的输出级别和输出目的地(目的地可以自定义名称,和后面的对应)
#[ level ] , appenderName1 , appenderName2
log4j.rootLogger=DEBUG,console,file
#-----------------------------------#
#1 定义日志输出目的地为控制台
log4j.appender.console = org.apache.log4j.ConsoleAppender
log4j.appender.console.Target = System.out
log4j.appender.console.Threshold=DEBUG
####可以灵活地指定日志输出格式,下面一行是指定具体的格式 ###
#%c: 输出日志信息所属的类目,通常就是所在类的全名
#%m: 输出代码中指定的消息,产生的日志具体信息
#%n: 输出一个回车换行符,Windows平台为"/r/n",Unix平台为"/n"输出日志信息换行
log4j.appender.console.layout = org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=[%c]-%m%n
#-----------------------------------#
#2 文件大小到达指定尺寸的时候产生一个新的文件
log4j.appender.file = org.apache.log4j.RollingFileAppender
#日志文件输出目录
log4j.appender.file.File=log/info.log
#定义文件最大大小
log4j.appender.file.MaxFileSize=10mb
###输出日志信息###
#最低级别
log4j.appender.file.Threshold=ERROR
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=[%p][%d{yy-MM-dd}][%c]%m%n
#-----------------------------------#
#3 druid
log4j.logger.druid.sql=INFO
log4j.logger.druid.sql.DataSource=info
log4j.logger.druid.sql.Connection=info
log4j.logger.druid.sql.Statement=info
log4j.logger.druid.sql.ResultSet=info
#4 mybatis 显示SQL语句部分
log4j.logger.org.mybatis=DEBUG
#log4j.logger.cn.tibet.cas.dao=DEBUG
#log4j.logger.org.mybatis.common.jdbc.SimpleDataSource=DEBUG
#log4j.logger.org.mybatis.common.jdbc.ScriptRunner=DEBUG
#log4j.logger.org.mybatis.sqlmap.engine.impl.SqlMapClientDelegate=DEBUG
#log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.ResultSet=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG

Mybatis的日志实现

1.默认的日志实现


    

2.log4j日志实现

  1. 导包
  2. 配置文件编写
  3. mybatis核心文件中进行配置

    

你可能感兴趣的:(MyBatis)