zoukankan      html  css  js  c++  java
  • mybatis强化(二)Parameters和Result

    本文通过一个简单例子简单记录下参数的映射。转载注明出处:http://www.cnblogs.com/wdfwolf3/p/6804243.html,谢谢。文件目录如下,

    1.配置文件mybatisconfig.xml如下,这里简要说明一下environments。MyBatis 可以配置成适应多种环境,这种机制有助于将 SQL 映射应用于多种数据库之中,尽管可以配置多个环境,每个 SqlSessionFactory 实例只能选择其一。所以,如果你想连接两个数据库,就需要创建两个 SqlSessionFactory 实例,每个数据库对应一个。在 MyBatis 中有两种类型的事务管理器(也就是 type=”[JDBC|MANAGED]”),如果你正在使用 Spring + MyBatis,则没有必要配置事务管理器, 因为 Spring 模块会使用自带的管理器来覆盖前面的配置。dataSource 元素使用标准的 JDBC 数据源接口来配置 JDBC 连接对象的资源。有三种内建的数据源类型(也就是 type=”[UNPOOLED|POOLED|JNDI]”)。

    <?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.cj.jdbc.Driver" />
                    <property name="url" value="jdbc:mysql://localhost:3306/mybatis?serverTimezone=GMT%2B8&amp;useSSL=false&amp;useUnicode=true&amp;characterEncoding=utf8" />
                    <property name="username" value="root" />
                    <property name="password" value="1234" />
                </dataSource>
            </environment>
        </environments>
    
        <mappers>
            <mapper resource="com/practice/xml/UsersMapper.xml"/>
    </configuration>

    2.Test测试函数如下,

    package com.practice.Test;
    
    import com.practice.bean.Users;
    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 java.io.IOException;
    import java.io.InputStream;
    
    public class Test3 {
        public static void main(String[] args) throws IOException {
            String resource = "mybatisconfig.xml";
            InputStream inputStream = Resources.getResourceAsStream(resource);
            SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
            SqlSession session = sqlSessionFactory.openSession();
         //String statement = "com.practice.xml.UsersMapper.selectUser2"; String statement
    = "com.practice.xml.UsersMapper.selectUser"; Users user = session.selectOne(statement, "瓦房店"); session.close(); System.out.println(user.getId()); } }

    3.UsersMapper.xml如下,这里是两种最基本的result映射,一是通过resultMap定义列与类字段的关系,二是通过别名方式映射列名到类字段名上。这些是结果映射最基本内容。id 和 result 都映射一个单独列的值到简单数据类型(字符串,整型,双精度浮点数,日期等)的单独属性或字段。这两者之间的唯一不同是 id 表示的结果将是比较对象实例时用到的标识属性。这帮助改进整体表现,特别是缓存和嵌入结果映射(也就是联合映射) 。

    <?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.practice.xml.UsersMapper" >
        <resultMap id="userResultMap" type="com.practice.bean.Users">
            <id property="id" column="id"/>
            <result property="name" column="name"/>
            <result property="age" column="age"/>
        </resultMap>
    
        <select id="selectUser" parameterType="string" resultMap="userResultMap">
            select * from orders where name = #{name}
        </select>
    
        <select id="selectUser2" parameterType="string" resultType="com.practice.bean.Users">
            select  id as "id",
                    name as "name",
                    age as "age"
            from users where name = #{name}
        </select>
    </mapper>
  • 相关阅读:
    20145204实验反思与总结
    20145204《信息安全系统设计基础》课程总结
    家庭作业:12.18,9.13,8.25,2.62
    20145204张亚军第14周博客总结
    20145204 张亚军《信息安全系统设计基础》第13周学习总结
    SLB技术原理浅析
    jumpserver在终端修改管理员密码及新建超级用户
    批量杀掉多个pid文件中记录的pid进程, 并集成到shell脚本中
    修改daemon.json重新加载后docker无法启动问题
    Docker的配置文件 daemon.json 详解
  • 原文地址:https://www.cnblogs.com/wdfwolf3/p/6804243.html
Copyright © 2011-2022 走看看