本文目录
第一步:创建maven工程
在idea中点击File
->New
->Project
,选择maven工程
第二步:添加依赖包
找到工程中的pom.xml
文件,在文pom.xml
文件的dependencies
节点下添加如下依赖包
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.6</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.20</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.12</version>
</dependency>
添加完依赖包以后点击maven
同步按钮
第三步:创建数据库和实体类
创建数据库
在数据库中创建一个名字为user
的,给该表增加3个字段分别是id、name、age
创建实体类和Mapper类
目录结构如下:
实体类User
public class User {
private int id;
private String name;
private int age;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "MyUser{" +
"id=" + id +
", name='" + name + '\'' +
", age=" + age +
'}';
}
}
UserMapper
类
public interface UserMapper {
User slelectUserById(int id);
List<User> slelectAll();
void insertUser(User user);
void updateUser(User user);
void deleteUser(int userId);
}
第四步:添加Mybatis配置文件
mybatis-config.xml
创建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"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/springtest?characterEncoding=utf-8&serverTimezone=UTC&useSSL=false" />
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="UserMapper.xml"/>
</mappers>
</configuration>
UserMapper.xml
创建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.lucas.mybatis.mapper.UserMapper">
<select id="slelectUserById" parameterType="Integer"
resultType="com.lucas.mybatis.model.User">
select * from user where id = #{id}
</select>
<select id="slelectAll" resultType="com.lucas.mybatis.model.User">
select * from user
</select>
<insert id="insertUser" parameterType="com.lucas.mybatis.model.User">
insert into user (name,age) value (#{name},#{age})
</insert>
<update id="updateUser" parameterType="com.lucas.mybatis.model.User">
update user set name= #{name},age= #{age} where id = #{id}
</update>
<delete id="deleteUser" parameterType="Integer">
delete from user where id = #{id}
</delete>
</mapper>
创建日志配置文件log4j.properties
# 全局配置
log4j.rootLogger=ERROR,stdout
# MyBatis 日志配置
log4j.logger.com.lucas=DEBUG
# 控制台输出配置
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
添加测试代码
public class App {
private static SqlSessionFactory sqlsessionfactory;
public static void main(String[] args) {
InputStream inputstream;
try {
//获取Mybatis容器内容
inputstream = Resources.getResourceAsStream("mybatis-config.xml");
if (sqlsessionfactory == null) {
//新建一个factory,作用用来生产sqlSeesion
sqlsessionfactory = new SqlSessionFactoryBuilder().build(inputstream);
}
//使用factory的open方法创建一个sqlSeesion
SqlSession sqlsession = sqlsessionfactory.openSession();
// 根据Id查询数据
User userOne = sqlsession.selectOne("com.lucas.mybatis.mapper.UserMapper.slelectUserById",1);
System.out.println(userOne);
System.out.println("------------------------------");
//增加一条数据
User userInsert = new User();
userInsert.setName("张三1");
userInsert.setAge(20);
sqlsession.insert("com.lucas.mybatis.mapper.UserMapper.insertUser",userInsert);
System.out.println("------------------------------");
//修改一条数据
User userUpdate = new User();
userUpdate.setId(2);
userUpdate.setName("张三2" );
userUpdate.setAge(30);
sqlsession.update("com.lucas.mybatis.mapper.UserMapper.updateUser",userUpdate);
System.out.println("------------------------------");
//查询所有数据
List<User> user1All = sqlsession.selectList("com.lucas.mybatis.mapper.UserMapper.slelectAll");
for (User myUser : user1All) {
System.out.println(myUser);
}
System.out.println("------------------------------");
//删除数据
sqlsession.delete("com.lucas.mybatis.mapper.UserMapper.deleteUser",6);
sqlsession.commit(); //提交事务
sqlsession.close();//关闭连接
} catch (IOException e) {
e.printStackTrace();
}
}
}
运行结果如下: