zoukankan      html  css  js  c++  java
  • 初识Mybatis

    初识Mybatis

    什么是Mybatis

    Mybatis框架也称为ORM(Object Relational Mapper,对象关系映射) 框架。为了解决面向对象和关系型数据库中数据不匹配的技术。通过描述Java对象与数据库表之间的映射关系自动将Java应用程序的对象持久化到关系型数据库表中

    过程

    依赖

    User.java

    package com.sty.pojo1;
    
    import lombok.Data;
    
    @Data
    public class User {
        private int id;
        private String name;
        private String password;
    
    
    }
    
    

    UserDao.java

    package com.sty.Mapper;
    
    import com.sty.pojo1.User;
    
    import java.util.List;
    
    public interface UserDao {
        User  queryUserById(int id);
        List<User> queryAll();
    }
    

    UserMapper.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">
    
    
    <mapper namespace="com.sty.Mapper.UserDao">
    
        <select id="queryUserById" parameterType="int" resultType="user">
            select *
            from mybatis.user
            where id=#{id}
        </select>
    
        <select id="queryAll" resultType="user">
            select *
            from mybatis.user;
        </select>
    
    
    
    </mapper>
    
    
    

    mybatis-config.xml

    <?xml version="1.0" encoding="UTF8"?>
    <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
            "http://mybatis.org/dtd/mybatis-3-config.dtd">
    
    
    <!---->
    <configuration>
    
        <!--配置数据库-->
        <properties resource="db.properties"/>
    
        <!--log4j配置-->
        <settings>
            <!--value是大写-->
            <setting name="logImpl" value="LOG4J"/>
        </settings>
    
        <!--扫描包-->
    <typeAliases>
       <typeAlias type="com.sty.pojo1.User" alias="user"/>
    </typeAliases>
    
    
    
        <!--环境配置-->
        <environments default="development">
    
            <environment id="development">
                <transactionManager type="JDBC"/>
                <dataSource type="POOLED">
                    <property name="driver" value="${driver}"/>
                    <property name="url" value="${url}"/>
                    <property name="username" value="${username}"/>
                    <property name="password" value="${password}"/>
                </dataSource>
            </environment>
    
        </environments>
    
    
    
        <mappers>
            <mapper resource="com/sty/Mapper/UserMapper.xml"/>
        </mappers>
    
    
    
    </configuration>
    

    db.properties

    driver=com.mysql.jdbc.Driver
    url=jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf-8&userSSL=true
    username=root
    password=root
    

    log4j.properties

    #将等级为BUG的日志文件输出到控制泰console和文件file中#
    log4j.rootLogger=DEBUG,console,file
    
    #控制台输出配置#
    log4j.appender.console=org.apache.log4j.ConsoleAppender
    log4j.appender.console.Target=System.out
    log4j.appender.console.Threshold=DEBUG
    log4j.appender.console.layout=org.apache.log4j.PatternLayout
    log4j.appender.console.layout.ConversionPattern=[%c]-%m%n
    
    #文件输出相关设置#
    log4j.appender.file=org.apache.log4j.RollingFileAppender
    log4j.appender.file.File=./log/sty.log
    log4j.appender.file.MaxFileSize=10mb
    log4j.appender.file.Threshold=DEBUG
    log4j.appender.file.layout=org.apache.log4j.PatternLayout
    log4j.appender.file.layout.ConversionPattern=[%p][%d{yy-MM-dd}[%c]%m%n]
    
    #日志输出级别#
    log4j.logger.org.mybatis=DEBUG
    log4j.logger.java.sql=DEBUG
    log4j.logger.java.sql.Statement=DEBUG
    log4j.logger.java.sql.ResultSet=DEBUG
    log4j.logger.java.sql.PrepareStatement=DEBUG
    
    

    Test

    package com.sty;
    
    
    import com.sty.Mapper.UserDao;
    import com.sty.pojo1.User;
    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.junit.Test;
    
    import java.io.IOException;
    import java.io.InputStream;
    import java.util.List;
    
    
    public class MyTest {
    
        @Test
        public void QueryUserByIdTest() throws IOException {
    
    
                //读取配置文件
            InputStream inputStream = Resources.getResourceAsStream("Mybatis-config.xml");
    
                //根据配置文件,实例化SqlSessionFactory
            SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
                //通过SqlSessionFactory,实例化SqlSession
            SqlSession sqlSession = sqlSessionFactory.openSession();
    
    
            UserDao mapper = sqlSession.getMapper(UserDao.class);
    
    
            User user = mapper.queryUserById(1);
            System.out.println(user);
    
    
            List<User> users = mapper.queryAll();
            for (User user1 : users) {
                System.out.println(user1);
            }
    
    //关闭
            sqlSession.close();
    
    
    
    
        }
    
    }
    
    
  • 相关阅读:
    UML建模之用例图关系
    python模块介绍
    Delphi操作XML(七)
    Delphi操作XML(一)
    Delphi操作XML(五)
    Delphi操作XML(六)
    Delphi操作XML(二)
    Delphi操作XML(四)
    Delphi操作XML(三)
    决心好好写cnblogs
  • 原文地址:https://www.cnblogs.com/stydejava/p/14107761.html
Copyright © 2011-2022 走看看