MyBatis第一个项目
-
创建user表,添加数据
CREATE DATABASE mybatis; USE mybatis; ? DROP TABLE IF EXISTS tb_user; ? CREATE TABLE tb_user( id INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(20), PASSWORD VARCHAR(20), gender CHAR(1), addr VARCHAR(30) ); ? INSERT INTO tb_user VALUES (1,'zhangsan','123','男','北京'); INSERT INTO tb_user VALUES (2,'李四','234','女','天津'); INSERT INTO tb_user VALUES (3,'王五','11','男','西安');
-
创建模块,导入坐标
-
编写MyBatis核心配置文件 --> 替换连接信息 解决硬编码问题
-
编写SQL映射文件 --> 统一管理SQL语句,解决硬编码问题
-
编码
-
定义pojo类
-
加载核心配置文件,获取SqlSessionFactory对象
-
获取SqlSession对象,执行SQL语句
SqlSession sqlSession = sqlSessionFactory.openSession(); List
users = sqlSession.selectList("test.selectAll"); -
释放资源
sqlSession.close();
-
-
编写pom.xml配置文件
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0modelVersion> ? <groupId>org.examplegroupId> <artifactId>mybatis-demoartifactId> <version>1.0-SNAPSHOTversion> ? <properties> <maven.compiler.source>17maven.compiler.source> <maven.compiler.target>17maven.compiler.target> properties> ? <dependencies> <dependency> <groupId>org.mybatisgroupId> <artifactId>mybatisartifactId> <version>3.5.5version> dependency> ? <dependency> <groupId>mysqlgroupId> <artifactId>mysql-connector-javaartifactId> <version>8.0.28version> dependency> ? <dependency> <groupId>junitgroupId> <artifactId>junitartifactId> <version>4.13version> <scope>testscope> dependency> ? <dependency> <groupId>org.slf4jgroupId> <artifactId>slf4j-apiartifactId> <version>1.7.20version> dependency> ? <dependency> <groupId>ch.qos.logbackgroupId> <artifactId>logback-classicartifactId> <version>1.2.3version> dependency> ? <dependency> <groupId>ch.qos.logbackgroupId> <artifactId>logback-coreartifactId> <version>1.2.3version> dependency> ? ? dependencies> ? project>
-
创建User类在com.uestc.pojo
public class User { ? private Integer id; private String username; private String password; private String gender; private String addr; ? public Integer getId() { return id; } ? public void setId(Integer id) { this.id = id; } ? public String getUsername() { return username; } ? public void setUsername(String username) { this.username = username; } ? public String getPassword() { return password; } ? public void setPassword(String password) { this.password = password; } ? public String getGender() { return gender; } ? public void setGender(String gender) { this.gender = gender; } ? public String getAddr() { return addr; } ? public void setAddr(String addr) { this.addr = addr; } ? @Override public String toString() { return "User{" + "id=" + id + ", username='" + username + '\'' + ", password='" + password + '\'' + ", gender='" + gender + '\'' + ", addr='" + addr + '\'' + '}'; } }
-
在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"/> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql:///mybatis?useSSL=false"/> <property name="username" value="root"/> <property name="password" value="root"/> dataSource> environment> environments> <mappers> <mapper resource="UserMapper.xml"/> mappers> configuration>
-
继续创建logback.xml文件并编写
<?xml version="1.0" encoding="UTF-8" ?> <configuration> ? <appender name="console" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>[%level] %blue(%d{HH:mm:ss.SSS}) %cyan([%thread]) %boldGreen(%logger{15}) - %msg %n pattern> encoder> appender> ? <logger name="com.itheima" level="DEBUG" additivity="false"> <appender-ref ref="Console"/> logger> ? ? configuration>
-
继续创建并编写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="test"> <select id="selectAll" resultType="com.uestc.pojo.User"> select * from tb_user; select> ? mapper>
-
最后在com.uestc下面创建一个MyBatisDemo的类
/** * MyBatis 快速入门代码 */ public class MyBatisDemo { ? public static void main(String[] args) throws IOException { //1. 加载mybatis的核心配置文件,获取SqlSessionFactory String resource = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); ? ? //2. 获取SqlSession对象,用它来执行sql SqlSession sqlSession = sqlSessionFactory.openSession(); ? //3. 执行sql Listusers = sqlSession.selectList("test.selectAll"); ? System.out.println(users); ? //4. 释放资源 sqlSession.close(); ? ? } }
-
控制台最后输出结果