• java+mybatis 测试配置DEMO,附上脚本


    java+mybatis 测试配置DEMO,附上脚本

    核心配置,在resources文件夹中,添加mybatis-config.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">
    <!-- 核心配置文件 -->
    <configuration>
    <environments default="development">
    <environment id="development">
    <transactionManager type="JDBC"/>
    <dataSource type="POOLED">
    <property name="driver" value="com.mysql.jdbc.Driver"/>
    <!--分别是数据库的jdbc:mysql://ip:port/数据库-->
    <!--对应数据库类型的driver<property name="driver" value="oracle.jdbc.driver.OracleDriver"/>-->
    <property name="url"
    value="jdbc:mysql://localhost:3306/mybatis"/>

    <!--对应ORACLE<property name="url" value="jdbc:oracle:thin:@localhost:1521:ORCL"/>-->
    <!--账号密码-->
    <property name="username" value="username"/>
    <property name="password" value="password"/>
    </dataSource>
    </environment>
    </environments>
    <!-- 每一个mapper.xml都需要 -->
    <mappers>
    <mapper resource="com/pipi/dao/UserMapper.xml"/>
    <!-- <mapper resource="com.pipi.dao.UserMapper.xml"/> // 错误 特别注意,我自己就踩来了这个坑,resource文件夹下的,mapper配置文件的路径-->
    </mappers>
    </configuration>

    参考文档:https://www.cnblogs.com/pipilong/p/13945657.html

    mapper配置文件,Mapper.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">
    <!--namespace 命名空间
    通常情况,命名空间的值,是当前映射类的全名称
    -->
    <mapper namespace="">
    <!--id名为selectBlog的查询,返回值类型为Users-->
    <insert id="insert">
    INSERT INTO table
    (
    ID , NULL , 0 , NULL)
    </insert>

    <!-- 不同类型的语句,关键字要对应select/insert/delete/update <select id="id" resultType="com.Line">-->
    <!-- select id from table where id = #{id}-->
    <!-- </select>-->

    <select id="getUser" resultMap="usermap">
    select * from users
    </select>
    <insert id="insert">
    insert into users (id, name, funkyNumber, roundingMode) values (
    #{id}, #{name}, #{funkyNumber}, #{roundingMode}
    )
    </insert>

    </mapper>
    参考文档: https://www.cnblogs.com/storebook/p/10214959.html

    =============================================================================

    DEMO Case 脚本

    1.pom.xml文件添加依赖包
    <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
    <dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.5.6</version>
    </dependency>
    <!--数据库驱动-->
    <dependency>
    <groupId>com.oracle</groupId>
    <artifactId>ojdbc6</artifactId>
    <version>11.2.0.3</version>
    </dependency>

    2.Demo_SqlCase.java
    package com.xxx.testcase.demo;
    import org.apache.ibatis.io.Resources;
    import org.apache.ibatis.session.SqlSession;
    import org.apache.ibatis.session.SqlSessionFactory;
    import org.apache.ibatis.session.SqlSessionFactoryBuilder;
    import org.apache.logging.log4j.LogManager;
    import org.apache.logging.log4j.Logger;

    import java.io.IOException;
    import java.io.InputStream;

    public class Demo_SqlCase {
    private static SqlSessionFactory sqlSessionFactory;
    private static Logger logger= LogManager.getLogger(Demo_SqlCase.class);

    public static void main(String[] args) throws IOException {
    String id="idName";
    String resource = "mybatis-config.xml";
    InputStream inputStream = Resources.getResourceAsStream(resource);
    sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
    logger.info("数据库连接成功");
    SqlSession session = sqlSessionFactory.openSession();
    //Demo_pojo 为查询语句结果,用Demo_pojo类接收,方便后面对查询结果每个值进行验证
    //demo与mapper文件,里面的id保持一致
    Demo_pojo demo_pojo =session.getMapper(Demo_DAO.class).demo(id);
    logger.info(demo_pojo);
    }

    3.Demo_DAO.java
    package com.XXXXX.testcase.demo;
    public interface Demo_DAO {
    Demo_pojo demo(String id);
    }


    4.Demo_Table.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">
    <!--namespace 命名空间
    通常情况,命名空间的值,是当前映射类的全名称
    -->
    <mapper namespace="com.XXXXX.testcase.demo.Demo_DAO">
    <!--id名为selectBlog的查询,返回值类型为Users-->
    <select id="demo" resultType="com.XXXXX.testcase.demo.Demo_pojo">
    SELECT Table_Value1,Table_Value2,Table_Value3 from demo_table where id=#{id}
    </select>
    </mapper>

    5.Demo_pojo.java

    import lombok.Data;
    import lombok.NoArgsConstructor;

    @Data
    @NoArgsConstructor
    public class Demo_pojo {
    private String Table_Value1;
    private String Table_Value2;
    private String Table_Value3;
    }

    6.mybatis-config.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">
    <!-- 核心配置文件 -->
    <configuration>
    <environments default="development">
    <environment id="development">
    <transactionManager type="JDBC"/>
    <dataSource type="POOLED">
    <property name="driver" value="oracle.jdbc.driver.OracleDriver"/>
    <property name="url"
    value="jdbc:oracle:thin:@url:1521:ORCL"/>
    <!--账号密码-->
    <property name="username" value="username"/>
    <property name="password" value="password"/>
    </dataSource>
    </environment>
    </environments>
    <!-- 每一个mapper.xml都需要 -->
    <mappers>
    <mapper resource="mapper/Demo_Table.xml"/>
    </mappers>
    </configuration>

  • 相关阅读:
    关于VS中更改栈和堆空间的大小
    BS模式的模型结构详解
    友情链接
    [ThinkPHP] 比较标签 neq&nheq 与 PHP 中的 != 与 !== 出现的问题
    [个人思考] 裸泳的问题
    [label][Chrome-Extension] How to start Chrome Extension's development
    [label][OS] 制作 U 盘安装 Windows 7
    [label][Google-Developers] Your First Multi Screen Site
    Min Stack
    Implement Stack using Queues
  • 原文地址:https://www.cnblogs.com/AIME/p/14415975.html
Copyright © 2020-2023  润新知