Mybatis的详细配置(含源代码)

一、准备工作

      开发工具:intellij idea
      使用工程:maven工程
      使用数据:Mysql

二、配置工作

目录结构
在这里插入图片描述
      1.创建实体类和数据库
在进行创建之前,最好使用侧栏的database进行测试连接,保证本身连接数据库没有问题(另外,作者使用的集成环境namp,所以说mysql的端口改为8889(本应该是3306)了,若有进行直接复制代码的朋友请注意一下)

UserInfo:

public class UserInfo {
    private Integer id;
    private String username; // 用户名
    private String password; // 密码
    private String realname; // 真实姓名
    private String sex;      // 性别
    private String address; // 住址
    private String question; // 问题设置
    private String answer; // 问题答案
    private String email; // 邮箱
    private String favorate; // 爱好
    private Integer score; // 成绩
    private Date regdate; // 时间
}

数据库:根据需要所创建

2.进行接口和mapper的设置

UserInfoDao:

public interface UserInfoDao {
    List<UserInfo> selectUserInfo();
}

列出所有需要查询或者更改的方法

**mapper:
映射文件

<?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.lyf.Dao.UserInfoDao">
    <select id="selectUserInfo" resultType="com.lyf.Dao.Model.UserInfo">
	    select * from user_info
	</select>
</mapper>

mapper namespace:所需要映射的接口空间()
id:接口中所需查询的方法语句
resultType:实体类(!!注意一定要写清楚路径(有些教程会只写类名),否则会报coundnot find class的错误)

3.进行mabatis-config的配置

<?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>

    <!--加载属性文件,必须放置最前面-->
<!--    <properties resource="com.lyf"-->
       <!--环境配置-->
    <typeAliases>
        <package name="com.lyf.Dao.Mapper" />
    </typeAliases>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"></transactionManager>

            <!--配置数据源 -->
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://127.0.0.1:8889/demo"/>
                <property name="username" value="root"/>
                <property name="password" value="674619459lyf"/>
            </dataSource>

        </environment>
    </environments>

    <!--映射文件配置-->
    <mappers>
        <mapper resource="com/lyf/Dao/Mapper/UserInfoMapper.xml" />
    </mappers>
</configuration>

主要是配置环境(可以使用da.properties)+映射文件配置
另外:提醒关于路径最好是复制粘贴,,不然有可能看上去一致也会报错

4.配置pom.xml

   <!--  将java中的编译进来-->
    <resources>
      <resource>
        <directory>src/main/java</directory>
          <includes>
            <include>**/*.xml</include>
          </includes>
      </resource>
    </resources>

在pom.xml的build里面中加入上面代码,将java的xml加入编译。idea不会编译src的java目录的xml文件

所以解决思路就是:将IDEA maven项目中src源代码下的xml等资源文件编译进classes文件夹

若无上操作,将会出现couldnot find resource
三、测试

package com.lyf.Controller;

//import jdk.internal.loader.Resource;
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.Reader;
import java.util.List;

public class BasicDemo {
    public static <User> void main(String args[]) throws IOException {
        String resource="mybatis-config.xml";
        Reader reader= Resources.getResourceAsReader(resource);
        SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(reader);

        SqlSession session=sqlSessionFactory.openSession();

        String statement="com.lyf.Dao.UserInfoDao.selectUserInfo";

        List <User> users =session.selectList(statement);

        //list的使用总结
        //

        for (User u: users){
            System.out.println(u.toString());
            System.out.println(u);
        }
    }
}

猜你喜欢

转载自blog.csdn.net/qq_44654974/article/details/107337952
今日推荐