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总体框架

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,319评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,801评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,567评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,156评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,019评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,090评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,500评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,192评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,474评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,566评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,338评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,212评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,572评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,890评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,169评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,478评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,661评论 2 335

推荐阅读更多精彩内容

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