小白最全配mybatis:idea+maven web+mybatis
1.选择 maven web项目,next
2.主目录是自己配置的maven地址,设置文件在maven地址/conf/settings.xml
3.在pom.xml中添加mybatis和mysql依赖
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus</artifactId>
<version>3.3.1</version>
</dependency>
<!-- mysql驱动包 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.29</version>
</dependency>
4.File->project structure->Modules,将项目结构创建成如图所示。java文件夹设置成Sources,resources文件夹设置成resources。
5.创建实体类User
package entity;
public class User {
private int id;
private String upwd;
private String uemail;
public User(int id, String upwd, String uemail) {
this.id = id;
this.upwd = upwd;
this.uemail = uemail;
}
public User() {
}
public int getid() {
return id;
}
public void setid(int id) {
this.id = id;
}
public String getUpwd() {
return upwd;
}
public void setUpwd(String upwd) {
this.upwd = upwd;
}
public String getUemail() {
return uemail;
}
public void setUemail(String uemail) {
this.uemail = uemail;
}
}
6.在resources文件夹下创建mybatis-config.xml,代码如下
<?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>
<!-- 环境配置 -->
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<!-- 数据库连接相关配置 ,这里动态获取config.properties文件中的内容,login是我数据库的名字-->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/login" />
<property name="username" value="root" />
<property name="password" value="root" />
</dataSource>
</environment>
</environments>
<!-- mapping文件路径配置 -->
<mappers>
<mapper resource="mapper/UserMapper.xml"/>
</mappers>
</configuration>
7.映射文件配置,在mapper文件夹中创建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="entity.User">
<select id="select" parameterType="entity.User" resultType="entity.User">
select username as id ,password as upwd from player
</select>
<insert id="insert" parameterType="entity.User" >
insert into player(username,password,emailaddress) VALUE (#{id},#{upwd},#{uemail})
</insert>
<delete id="delete" parameterType="int" >
delete from player where username=#{id}
</delete>
</mapper>
<!--id ="接口中的方法名"
parameterType="传入的参数类型"
resultType = "返回实体类对象,使用包.类名"-->
8.在Test文件夹下创建UserTest
package Test;
import entity.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 java.io.IOException;
import java.io.Reader;
import java.util.List;
public class UserTest {
public static void main(String[] args){
//定义读取文件名
String resources = "mybatis-config.xml";
//创建流
Reader reader=null;
try {
//读取mybatis-config.xml文件到reader对象中
reader= Resources.getResourceAsReader(resources);
} catch (IOException e) {
e.printStackTrace();
}
//初始化mybatis,创建SqlSessionFactory类的实例
SqlSessionFactory sqlMapper=new SqlSessionFactoryBuilder().build(reader);
//创建session实例
SqlSession session=sqlMapper.openSession();
//传入参数查询,返回结果
int b=session.delete("delete",105);
System.out.println(b);
User U=new User(106,"1000","@qq.com");
int a=session.insert("insert",U);
System.out.println(a);
List<User> list =session.selectList("select");
if (list.isEmpty())
System.out.println("aaa");
for(User u:list)
{
System.out.println(u.getid()+" "+u.getUpwd());
}
//输出结果
//System.out.println(user);
//关闭session
session.close();
}
}
9.注意!!!
数据库中的名字如果和User中的属性名不一样,在配置映射文件UserMapper.xml时,应该用别名!!!