• Mybatis的基本步骤


    首先先看看整个项目图

    1. 引用相关的Mybatis包

    最总要的是Mybatis-xxx.jar

    2.引用数据库的驱动包

    例如mysql的,就引用mysql-connector-jar-xxx.jar

    3.在工程里创建一个config的文件夹,下面主要放置项目的一些配置文件

    MyBatis这里需要以下几个

    • jdbc.properties - jdbc的一些配置
    jdbc.DriverClassName=com.mysql.jdbc.Driver
    jdbc.url=jdbc:mysql://127.0.0.1:3306/abc
    jdbc.username=root
    jdbc.password=root
    • mybatis.xml(这是一个mybatis的默认配置文件名称)
    <?xml version="1.0" encoding="UTF-8"?>
    <!-- 这里需要留意的是 configuration 和 Config mybatis-3-config.dtd 如果在Mapper 这里的值是不一样的 -->
    <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
    
    <configuration>
    
        <!-- properties加载指定路径的jdbc配置文件 -->
        <properties resource="jdbc.properties"></properties>
    
        <!-- 数据库池信息 -->
        <environments default="development">
            <environment id="development">
                <!-- 实务管理 -->
                <transactionManager type="JDBC" />
                <dataSource type="POOLED">
                    <!-- 这里的value是对应jdbc.properties里面的值,所以如果没有引用jdbc的配置文件,可以直接写值 -->
                    <property name="driver" value="${jdbc.DriverClassName}" />
                    <property name="url" value="${jdbc.url}" />
                    <property name="username" value="${jdbc.username}" />
                    <property name="password" value="${jdbc.password}" />
                </dataSource>
    
            </environment>
        </environments>
    
        <mappers>
            <!-- 这里的resource对应的是配置文件的相对路径名如果文件是放在com.test.model下,那这里就需要写成com/test/model/user.xml -->
            <mapper resource="user.xml"></mapper>
        </mappers>
    </configuration>
    • 数据库表映射配置,假如你的表叫user,对应config下就放对应的映射文件,user.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="user">
    
        <!-- 这里的id是唯一标识 -->
        <!-- 这里的parameterType的值是入参类型,多参数传递需要使用其它方式,请看多参数传递的文章 -->
        <!-- 这里的resultType是返回值,这里的意思就是放回一个对应的对象 -->
        <!-- 这里的#{}里面的值名称需要和方法中的第一个参数名一致 -->
        <select id="getUserById" parameterType="java.lang.String" resultType="com.test.model.User">
            select * from users where id=#{id}
        </select>
    </mapper>

    4. 最后是Java代码

    package com.test;
    
    import java.io.IOException;
    import java.io.InputStream;
    
    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 com.test.model.User;
    
    public class MybatisTest {
    
        public static void main(String[] args) throws IOException {
    
            //读取配置文件
            InputStream configFile = Resources.getResourceAsStream("mybatis.xml");
    
            //根据配置文件新建一个工作方法
            SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(configFile);
    
            //利用工程方法启动一个session,这里要注意的是openSession的时候可以添加参数,openSession(boolean),这个参数代表是否自动提交事务,默认为false
            SqlSession session = factory.openSession();
    
            //调用查询方法
            String id = "1";
            User user = session.selectOne("user.getUserById",id);
    
            System.out.println(user);
    
            session.close();
        }
    }
  • 相关阅读:
    1293E. Xenon's Attack on the Gangs (树形DP)
    二分check的妙用
    Educational Codeforces Round 80 (CF
    CodeForces Goodbye2019 E.Divide Points (构造)
    POJ 1061 (拓展欧几里得+求最小正整数解)
    1238D
    关于Mysql用户的相关操作
    JAVA类的符号引用的理解
    关于tomcat的路径等基础问题
    Java 方法中,参数的装配顺序
  • 原文地址:https://www.cnblogs.com/oscar1987121/p/10744163.html
Copyright © 2020-2023  润新知