zoukankan      html  css  js  c++  java
  • 01_根据Id查询User的数据

    【工程目录】

    【数据库表中内容 user表】

     【sqlMapConfig.xml配置文件主要内容】

    简述:sqlMapConfig.xml配置文件主要有两个作用:

    1.配置和数据连接的相关信息,例如事务管理、数据库连接池等信息。

    2.加载映射文件,例如本项目中的user.xml

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <!DOCTYPE configuration 
     3 PUBLIC "-//mybatis.org//DTD Config 3.0//EN" 
     4 "http://mybatis.org/dtd/mybatis-3-config.dtd">
     5 <configuration>
     6     
     7     <!-- 和Spring整合之后这些配置将删除 -->
     8     <environments default="development">
     9         <environment id="development">
    10             <!-- 使用jdbc事务管理 -->
    11             <transactionManager type="JDBC" />
    12             <!-- 数据库连接池 -->
    13             <dataSource type="POOLED">
    14                 <property name="driver" value="com.mysql.jdbc.Driver"/>
    15                 <property name="url" 
    16                     value="jdbc:mysql://localhost:3306/mybatisdb?useUnicode=true&amp;characterEncoding=UTF-8" />
    17                 <property name="username" value="root"/>
    18                 <property name="password" value=""/>
    19             </dataSource>
    20         </environment>
    21     </environments>
    22     
    23     <!-- 加载映射文件 -->
    24     <mappers>
    25         <mapper resource="sqlmap/user.xml"/>
    26     </mappers>
    27     
    28 </configuration>

    【user.xml】

    在user.xml文件中编写相关的CRUD的代码

    <?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">
        <select id="findUserById" parameterType="int" resultType="com.Higgin.Mybatis.po.User">
             SELECT * from USER WHERE id=#{id}
         </select>
    </mapper>

    解释:

    1.namespace命名空间,作用就是对sql进行分类化管理。注意:使用mapper代理方法开发,namespace有特殊重要的作用。

    2.在<mapper>映射文件中可以配置很多的sql语句,除了<select>还有<delete>、<update>、<insert>等等

    3.通过select 执行数据库查询,将sql语句封装到mapperStatement对象中,所以将id成为statement的id

    4.parameterType:指定输入参数的类型,这里指定是int类型

    5.#{}:表示一个占位符

    6.#{id}:其中的占位符表示接入输入的参数,参数名称为id,若输入的参数是简单类型,#{}中的参数名称可以任意,既可以是value或者其他名称

    7.resultType:指定sql输出结果所映射的java类型对象,select指定resultType表示将单条记录映射成的User对象

    【log4j.properties】

    #Global logging configuration
    #在开发环境下,日志级别要设置成DEBUG
    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

    【User.java】

     1 package com.Higgin.Mybatis.po;
     2 
     3 import java.util.Date;
     4 
     5 public class User {
     6     //属性名和数据库表字段对应
     7         private int id;
     8         private String username;
     9         private String sex;
    10         private Date birthday;
    11         private String address;
    12        //忽略get、set、toString方法....  
    13 }

    【MyBatisTest.java】

    public class MyBatisTest {
        @Test
        public void testFindUserByID() throws IOException{
            //mybatis配置文件
            String resource="SqlMapConfig.xml";
           
            //得到配置文件
            InputStream inputStream=Resources.getResourceAsStream(resource);
            
            //创建会话工厂,传入mybatis的配置文件信息
            SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(inputStream);
    
            //通过工厂得到SqlSession
            SqlSession sqlSession=sqlSessionFactory.openSession();
            
            //通过SqlSession操作数据库
            //第一个参数:映射文件中statement的id,等于:namespace+"."+statement的id
            //第二个参数:指定映射文件中的所匹配的parameterType类型的参数
            User user=sqlSession.selectOne("test.findUserById", 2);
            System.out.println(user.toString());
            //释放资源
            sqlSession.close();
        }
    }

    【运行结果】

  • 相关阅读:
    【cs231n笔记】assignment1之KNN
    【数据】常用卫星遥感数据下载地址整理
    ArcGIS中重采样栅格像元匹配问题
    python调用HEG工具批量处理MODIS数据
    Google Earth Engine学习资源分享
    地表温度反演的单通道方法辩异
    Android Studio无法下载sdk的问题
    Anaconda常用命令
    AMSR-E/AMSR-2数据介绍与下载
    NASA HEG tool安装心得
  • 原文地址:https://www.cnblogs.com/HigginCui/p/5699224.html
Copyright © 2011-2022 走看看