MyBatis(three)

//////////2016-12-24 ~ 2016-12-25///////////

int study_data(){

MyBatis - Log

log:

log是调试或者信息收集的一种手段

可以在系统运行过程中,查看某些关键数据

log 分为4个等级:

    dubug

    info

    warning

    error

log的功能

1.定义信息的级别

2.输出控制:在代码中需要的地方写log代码 logger.dubug("test");

MyBatis中是怎么确定用什么打log的?

1.如果没有指定,mabatis会在classpath中去找对应的实现类

搜索顺序就是上一页的顺序,一旦找到了一个,就用那个机制去打log,但是如果都没有,就不打log了

2.另外一种方式就是在config.xml里面指定下面是log4j的示例:

<settings>

    <setting name="logImple" value="LOG4J" />

</setting>

value的有效值包含:SLF4J,LOG4J,LOG4J2,JDK_LOGGING,COMMONS_LOGGING,STDOUT_LOGGING,NO_LOGGING

MyBatis中支持的log类型包含:SLF4J,Apache Commons Logging,Log4j2,Log4j,JDK logging.

配置文件:

log4j.rootLogger=info,Console

log4j.appender.Console=org.apache.log4j.ConsoleAppender

log4j.appender.Console.Target=System.out

log4j.appender.Console.layout=org.apache.log4j.PatternLayout

log4j.appender.Console.layout.ConversionPattern=[%c] - %m%n

log4j.logger.包名=debug

定义log输出到哪里

    console

    file  a.log

    syslog eventlog

    network

    package.Class:method, line:message

定义输出级别

    debug

    logger.debug

    logger.info

    logger.waring

    logger.error

    error

    logger.error

MyBatis -  generator

generatorConfig.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
    <!-- 数据库驱动 -->
    <classPathEntry location="mysql-connector-java-5.1.40-bin.jar" />
    <context id="DB2Tables" targetRuntime="MyBatis3">
        <commentGenerator>
            <property name="suppressDate" value="true" />
            <!-- value:是否去除自动生成的注释 -->
            <property name="suppressAllComments" value="true" />
        </commentGenerator>
        <!-- 数据库链接url,用户名,密码 -->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"         connectionURL="jdbc:mysql://localhost:3306/foodorder?serverTimezone=UTC&useSSL=false"
        userId="zw" password="a89688075." />
        <!-- 指定类型解析器 -->
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false" />
        </javaTypeResolver>
        <!-- 生成模型的包名和位置 -->
        <javaModelGenerator targetPackage="pojo"         targetProject="C:\Users\tencent\workspace\FoodOrderSystem\src">
            <property name="enableSubPackages" value="true" />
            <property name="trimStrings" value="true" />
        </javaModelGenerator>
        <!-- 生成映射文件的包名和位置 -->
        <sqlMapGenerator targetPackage="dao"         targetProject="C:\Users\tencent\workspace\FoodOrderSystem\src">
            <property name="enableSubPackages" value="true" />
        </sqlMapGenerator>
        <!-- 生成dao的包名和位置 -->
        <javaClientGenerator type="XMLMAPPER" targetPackage="dao"          targetProject="C:\Users\tencent\workspace\FoodOrderSystem\src">

            <property name="enableSubPackage" value="true" />
        </javaClientGenerator>
        <!-- 要生成的表 tableName是数据库中的表名或视图名 domainObjectName是实体名 -->
        <table tableName="collection" domainObjectName="Collection" enableCountByExample="false"         enableUpdateByExample="false" enableDeleteByExample="false"     enableSelectByExample="false"     selectByExampleQueryId="false" />
    </context>
</generatorConfiguration>

自动生成文件命令:

Java -jar mybatis-generator-core-1.3.2.jar -configfile generatorConfig.xml -overwrite

连接配置成功之后,进入mybatis-generator-core-1.3.2的lib目录,在该目录按住Shift键,右键鼠标选择"在此处打开命令窗口",复制粘贴生成语句的文件代码即可。

MyBatis - java api

mybatis的特色是把所有的sql都写在xml文件里面,但是为了迎合一部分人的使用习惯,或者一些观念,它还是增加了纯java api的支持。

config代码实例:

//指定驱动,连接字符串

Properties p = new Properties();

p.put("driver", "com.mysql.jdbc.Driver");

p.put("url", "jdbc:mysql://localhost:3306/m2dbtest?serverTimezone=UTC&useSSL=false");

p.put("username", "zw");

p.put("password", "a89688075.");

//然后获得一个pool的data source

PooledDataSourceFactory dsFactory = new PooledDataSourceFactory();

dsFactory.setProperties(p);

DataSource ds = dsFactory.getDataSource();

//指定事物处理方式是jdbc的

JdbcTransactionFactory jdbcTF = new JdbcTransactionFactory();

//产生一个environment节点,给一个名字。并放入configuration节点。

Environment env = new Environment("dev", jdbcTF, ds);

Configuration configuration = new Configuration(env);

//在configuration节点中注册Mapper的信息

configuration.addMapper(UserMapper.class);

纯代码注解方式

    在接口中的方法加上对应注解,即可不使用xml配置也可以对数据库进行操作。

注解方式

MyBatis总结

MyBatis总体框架

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在应用程序中添加日志记录总的来说基于三个目的:监视代码中变量的变化情况,周期性的记录到文件中供其他应用进行统计分析...
    时待吾阅读 5,126评论 1 13
  • 在应用程序中添加日志记录总的来说基于三个目的:监视代码中变量的变化情况,周期性的记录到文件中供其他应用进行统计分析...
    时待吾阅读 5,066评论 0 6
  • 一、Log4j简介 Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layo...
    默默守护阅读 1,939评论 2 8
  • from:https://www.cnblogs.com/ITtangtang/p/3926665.html一、L...
    enshunyan阅读 3,349评论 0 0
  • 卜算子. 中秋 清宫怨何许? 知己望穿眼。 平分秋色一轮满, 合欢罩今晚。 举怀邀明月, 开心泻万盏。 借道天凉好...
    小肉巴阅读 234评论 0 3