一、准备工作
开发工具: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);
}
}
}