Mybatis基本常识

                上一章我们讲了对Mybatis认识与基本操作,那么接下来呢,再给大家分享三个重要的知识点,(1)对Mybatis进行优化,(2)解决程序中类名与属性名不一致的问题,(3)事务

            一,对Mybatis进行优化

                1,引入DB属性文件

               (1)定义一个数据库属性文件

jdbc.url=jdbc:mysql://localhost:3306/mybatis?serverTimezone=Asia/Shanghai
jdbc.driverName=com.mysql.cj.jdbc.Driver
jdbc.username=root
jdbc.password=root

              (2)在mybatis配置文件中引入属性文件并使用相应的key

                2,引入日志文件

                 (1)引入日志jar包

   <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>

                (2)引入日志的配置文件 log4j.properties

### 设置###
log4j.rootLogger = debug,stdout,D,E

### 输出信息到控制抬 ###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n

### 输出DEBUG 级别以上的日志到=E://logs/error.log ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = D://logs/log.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = DEBUG 
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

### 输出ERROR 级别以上的日志到=E://logs/error.log ###
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File =D://logs/error.log 
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR 
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

                (3),测试

            二,解决程序中类名与属性名不一致的问题

                第一种: 为查询的列起别名;让别名和属性名一致。

<select id="selectById" resultType="com.ykq.entity.Order">
    select order_id id,order_no no,order_price price from orders where order_id=#{id}
</select>

                第二种: 使用resultMap标签 来完成属性和列的映射关系。

  <resultMap id="My01" type="com.ykq.entity.Order" >
          <!--id必写-->
          <id property="id" column="order_id"/>
          <result property="no" column="order_no"/>
          <result property="price" column="order_price"/>
    </resultMap>
    <!--注意:使用了resultMap不能在使用resultType-->
    <select id="selectById" resultMap="My01" >
        select * from orders where order_id=#{id}
    </select>

            三,事务

                1,事务的概念

                  事务是指要做的或者所做的事,例如:在关系数据库中,一个事务可以是一条SQL语句,一组SQL语句或整个程序。

                2,事务的特征

             (1)事务应该具有4个属性:原子性、一致性、隔离性、持久性。这四个属性通常称为ACID特性

               (2)原子性(atomicity)。一个事务是一个不可分割的工作单位,事务中包括的操作要么都做,要么都不做。

               (3)一致性(consistency)。事务必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。

                (4)隔离性(isolation)。一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。

                (5)持久性(durability)。持久性也称永久性(permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其有任何影响。

                

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值