MyBatis小白入门

1.为什么要使用mybatis而不是jdbc?

       * 因为jdbc要不断的创建销毁连接,会影响系统的性能;

       *因为jdbc是把在java代码中硬编码,当改变sql的时候,需要修改代码,不利于系统的维护

       *mybatis是自己编写sql语句,这样的话,便于自己的控制

2.mybatis的运行流程如下图:

        

主要的配置:sqlmapconfig(配置mybatis的运行环境等信息,注意只有一个); map.xml(sql映射文件,一个pojo一个,注意需要在SqlMapConfig中加载),整个流程简而言之就是体现了java的面向对象的思路.特别是结果的输出!

3.1定义user的pojo(注意首先在数据库中创建相关的表结构),属性如下:

                    private int id;
                    private String username;
            private String sex;
            private Date birthday;
            private String address;

                (注意编写set和get方法,和toString()方法,这样的话在后面使用junit进行测试时,可以直接打印)

    3.2配置相关的文件配置

                *加载log4j进行日志打印(添加jar包和logj.propertoes的配置文件)

                        # Global logging configuration
                        log4j.rootLogger=DEBUG, stdout
                        # Console output...
                        log4j.appender.stdout=org.apache.log4j.ConsoleAppender
                        log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
                        log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

                *加载mapper.xml配置文件(这里指的是user.xml配置文件)

                        <?xml version="1.0" encoding="UTF-8" ?>
                        <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
                            "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
                        <mapper namespace="test">
                                             <!-- sql语句的id,statement的id ,#{}的作用就是站位符,相当于是jdbc的?

                                          parameterType: 传入参数的类型    resultType:返回值类型

                                                namespace的作用是为了区分sql的作用(这里不要的话也不会出现问题)

                                            -->
                                <select id="getUserById" parameterType="int"  resultType="com.bank.mybatis.po.User">  
                                select * from 'user' where id= #{id};
                                </select>

                    </mapper>

                *配置SqlMapConfig

                        <?xml version="1.0" encoding="UTF-8" ?>
                        <!DOCTYPE configuration
                        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
                        "http://mybatis.org/dtd/mybatis-3-config.dtd">
                        <configuration>
                        <!-- 和spring整合后 environments配置将废除 -->
                        <environments default="development">
                         <environment id="development">
                 <!-- 使用jdbc事务管理 -->
                 <transactionManager type="JDBC" />
                 <!-- 数据库连接池 -->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver" />
<property name="url"
value="jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf-8" />
<property name="username" value="root" />
<property name="password" value="root" />
                     </dataSource>
                    </environment>
                        </environments>
                <!--加载mapper配置文件 -->
            <mappers>
        <!-- resource是基于classpath查找的 -->
        <mapper resource="sqlmap/User.xml"/>
    </mappers>

    </configuration>

    4.编写junit进行测试


5.整体的各个部分的调用关系如下图

            

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值