Mybatis基础构建

mybatis3 基础构建

        这一次讨论的问题是如何使用mybatis进行一个小项目的dao层的构建,让我们拭目以待吧!

准备工作

        准备好相关的jar包当然是很重要的,在你的maven项目的pom.xml中添加如下配置信息即可:

<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.1.1</version>
</dependency>
具体步骤

1:mybatis配置文件

<!--文件名: mybatis.xml-->
<?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">
<!--文件名: mybatis.xml-->
<configuration>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC" />
            <!-- 配置数据库连接信息 -->
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver" />
                <property name="url" value="jdbc:mysql://localhost:3306/mybatis" />
                <property name="username" value="root" />
                <property name="password" value="root" />
            </dataSource>
        </environment>
    </environments>
    <!--配置映射文件-->
    <mappers>
        <mapper resource="com/weimob/mapping/autoTestMapping.xml"/>
     </mappers>
</configuration>


2:实体类的建立

        在这个时候需要我们建立自己的pojo类,pojo类的建立没有什么要说的地方,符合java的一些规范就好。

3:和dao映射文件的建立

<?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="com.weimob.autotest.dao.AutoTestMapping.getInputString">
    <!-- 根据trakc_id查询得到一个autoTest对象 -->
    <select id="getUrl" parameterType="String"
        resultType="com.weimob.autotest.modle.AutoTest">
        SELECT method_name AS methodName,service_key As
        serviceKey,method_key As methodKey FROM
        goods_adaptor_config WHERE
        method_name=#{methodname}
    </select>
</mapper>

        这里的话着重强调namespace,这个属性的话是后面我们利用sqlsession进行数据库操作的重要参数。

4:读入mybatis配置文件,得到和数据库的会话,执行相关操作。

String resourcesString = "mybatis.xml";
// 使用类加载器加载mybatis的配置文件
InputStream iStream=AutoTestDaoImpl.class.getClassLoader().getResourceAsStream(resourcesString);
// 构建sqlSession的工厂
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(iStream);
// 得到同数据库的会话
sqlSession = sqlSessionFactory.openSession();

        上面的话我们可以看到,读取mybatis的配置文件的时候,我们直接采取的是相对路径,系统会直接去classpath下寻找,因此一定要放在classpath下。

        之后得到了sqlSessionFactory这个工厂,我们需要得到的数据库会话就是由其分配的。得到数据库会话之后接下来要做的事情就是:执行sql了。

@Override
public AutoTest getInputString(String trackid) {
    // 映射sql的标识字符串,和namespace是一致的
    String statement = "com.weimob.autotest.dao.AutoTestMapping.getInputString";
    // 执行查询,查询一个List也是可以的
    AutoTest autoTest = sqlSession.selectOne(statement, trackid);
    if (autoTest == null) {
        logger.debug("查询条件无效,最终统计条件未获取。返回空对象。");
        return new AutoTest();
    }
    logger.debug(autoTest.toString());
    return autoTest;
}
总结

        上面我们对mybatis的基本配置进行了详细的讲解,基本按照这个教程,我们就可以按图索骥按照mybatis的规范来管理我们的dao层。可是,在web开发中,一般来说框架之间都会相互整合。而mybatis作为如此优秀的一款orm数据层映射框架,也必然有着不少的整合。

        那么,我想后面,我们需要探究其同spring的整合,想想前面一篇博文中的话,spring统一了java的世界,觉得这样做的必要性尤其明显了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值