Mybatis基础构建

    xiaoxiao2021-03-25  101

    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的世界,觉得这样做的必要性尤其明显了。

    转载请注明原文地址: https://ju.6miu.com/read-20578.html

    最新回复(0)