基于MyBatis、Maven对数据库进行简单插入数据操作
此文章为记录本人学习Mybatis与Maven文件管理的自我梳理,进行了对数据库基本的插入数据操作(其实其他操作也类似,在映射文件里写好就行)。
·
前言:此文章为记录本人学习Mybatis与Maven文件管理的自我梳理,进行了对数据库基本的插入数据操作(其实其他操作也类似,在映射文件里写好就行)。
1.maven项目
首先用idea建立一个maven新项目,注意,我用的是2022版本的idea所以可以直接新建项目中选择maven文件,低级版本操作不同;
2.数据库建立
此时我用之前所建立的数据库,方便。
3.xml文件配置依赖
注意版本选择,配置pom.xml文件。
(1)mysql 驱动依赖
(2)junit 测试单元依赖
(3)mybatis 依赖:https://mybatis.org/mybatis-3/zh/getting-started.html;从此网站获取mybatis配置操作
<dependencies>
<!-- mysql 驱动 依赖 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.30</version>
</dependency>
<!--junit 测试单元依赖-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<!--mybatis 依赖-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.7</version>
</dependency>
</dependencies>
(4)查看依赖项是否成功;
3.mybatis-config.xml文件配置
在main_resource下建立mybatis-config.xml文件,然后从官方文档复制并在xml配置mybatis核心
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"https://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/mybatis?serveTimezone=UTC"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
<!--引入mybatis映射文件-->
<mappers>
<mapper resource=" "/>
</mappers>
</configuration>
注意此时还未引入mybatis映射文件
4.User.java
main_java_com.mybatis.pojo
对应数据库变量,给构造器和getter、setter、toString方法
package com.mybatis.pojo;
public class User {
private Integer id;
private String name;
private Integer achievement;
public User(){
}
public User(Integer id, String name, Integer achievement) {
this.id = id;
this.name = name;
this.achievement = achievement;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAchievement() {
return achievement;
}
public void setAchievement(Integer achievement) {
this.achievement = achievement;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", name='" + name + '\'' +
", achievement=" + achievement +
'}';
}
}
5.创建mapper接口
package com.mybatis.mapper;
public interface UserMapper {
int insertUser();
}
6.配置映射文件
在resources包下建立MapperUser.xml映射文件,名字跟接口文件一样,并在官方文档复制并配置。
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--namespace要与接口文件位置一致-->
<mapper namespace="com.mybatis.mapper.UserMapper">
<!--int insertUser()-->
<!--
mapper接口要和映射文件保持两个一致
1、mapper接口的全类名要和映射文件的namespace一致;
2、mapper接口中的方法要和映射文件中的sql的id一致;
-->
<insert id="insertUser">
insert into tb_user values(5,'二蛋',55);
</insert>
</mapper>
7.引入mybatis的映射文件
回到mybatis-config.xml,把UserMapper.xml映射文件引入;
<!--引入mybatis映射文件-->
<mappers>
<mapper resource="UserMapper.xml"/>
</mappers>
注意:可为源根路径
8.TestMybatis.java,测试
注意:因为此时我还没学习其他知识,所以这里的测试代码特别抽象;
package com.test;
import com.mybatis.mapper.UserMapper;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Test;
import org.apache.ibatis.io.Resources;
import java.io.IOException;
import java.io.InputStream;
public class TestMybatis {
@Test
public void testInsert() throws IOException {
//获取核心配置文件的输入流
InputStream resourceAsStream = Resources.getResourceAsStream("mybatis-config.xml");
//获取SqlSessionFactoryBuilder对象
SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
//获取sqlSessionFactory对象
SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(resourceAsStream);
//获取sql的会话对象SqlSession,是myBatis提供的数据库对象
SqlSession sqlSession = sqlSessionFactory.openSession();
//获取UserMapper的代理实例化对象
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
//调用mapper接口中的方法,实现添加用户信息的功能
int result = mapper.insertUser();
System.out.println("结果:"+result);
sqlSession.commit();//提交事务
//关闭sqlSession对象
sqlSession.close();
}
}
查看运行结果
9.返回数据库查看结果
查看表是否成功添加名字为‘二蛋’的数据
成功!!!
更多推荐
已为社区贡献1条内容
所有评论(0)