mybatis是一款持久层框架,主要用于简化jdbc(java语言中用于操作关系型数据库的一套api,不懂的可以看我上一篇文章)。
既然是用来操作数据库的,那么我就以查询一个数据表中的数据为案例来入门mybatis。
要想查询数据表中的数据就得先有数据,所以我就先来创建一个数据表。
创建数据表
像下面这样
create database yao;
use yao;create table y_user(
id int primary key auto_increment,
name varchar(20),
pass varchar(20),
gender char(1)
);insert into y_user values(1,'张三','123','男');
insert into y_user values(2,'李四','123','男');
insert into y_user values(3,'翠花','123','女');
表创建好了,接下来就是用java语言,mybatis框架来执行sql语句查询y_user表中的数据。
创建模块,导入坐标
像下图一样在idea中创建一个Maven模块,模块名称可以自己取
导入坐标(很关键的一步,没有导入后面也就没法继续)
在pom.xml文件中输入一下代码(第一次导入对应坐标时,idea会自动将其下载至本地仓库)
<dependencies>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.9</version>
</dependency>
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<version>8.2.0</version>
</dependency>
</dependencies>
如果导入之后爆红,大概率是本地没有这个坐标;刷新一下Maven,等待下载完成就好了。
编写Mybatis核心配置文件
替换连接信息,解决硬编码问题
一般放在resources文件夹下面以xxx-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:3316/mybatis?useLess=false"/>
<property name="username" value="root"/>
<property name="password" value="123"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="userMapper.xml"/>
</mappers>
</configuration>
其中environment标签中的内容是用来连接mysql数据库的信息其中一些信息应以你的电脑上的信息为准,上面是我电脑上我对mysql的设置的信息。
mapper标签是sql映射文件的路径(不同位置地址不同)下一步就是编写sql映射文件
编写sql映射文件
统一管理sql语句,解决硬编码问题
也是写在resources文件夹下面
<?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="test">
<select id="selectAll" resultType="com.xie.pojo.User">
select * from y_user;
</select>
</mapper>
编码
定义一个POJO类
package com.xie.pojo;
public class User {
private Integer id;
private String name;
private String pass;
private String gender;
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 String getPass() {
return pass;
}
public void setPass(String pass) {
this.pass = pass;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", name='" + name + '\'' +
", pass='" + pass + '\'' +
", gender='" + gender + '\'' +
'}';
}
}
接下来就是加载核心配置文件,获取SqlSessionFactory对象
获取SqlSession对象,执行sql语句
释放资源
package com.xie;
import com.xie.pojo.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.InputStream;
import java.util.List;
public class mybatisDamo {
public static void main(String[] args) throws Exception {
String resource = "mybatis-config.xml";
// 读取配置文件
InputStream inputStream = Resources.getResourceAsStream(resource);
// 构建SqlSessionFactory
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
// 获取sql对象
SqlSession session = sqlSessionFactory.openSession();
// 执行sql语句
List<User> users = session.selectList("test.selectAll");
// 输出结果
System.out.println(users);
// 释放资源
session.close();
}
}
最后输出结果如下
至此也算是会一点Mybatis的皮毛了,再会。
标签:入门,gender,id,Mybatis,String,pass,mybatis,public,name From: https://blog.csdn.net/m0_75044165/article/details/143281010