mybatis 实验报告1

新建数据库

命名是 随便,因为这里是 数据库连接名
在这里插入图片描述

create database mybatis;
use mybatis;
CREATE TABLE users(id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(20), age INT);INSERT INTO users(NAME, age) VALUES('Tom', 12);
INSERT INTO users(NAME, age) VALUES('Jack', 11);

一行一行输入
在这里插入图片描述
在这里我的mybatis这个数据库是建在了test这个连接里
在这里插入图片描述
在这里插入图片描述

新建项目,并导入jar包

新建Javaproject
在这里插入图片描述
在这里插入图片描述新建lib文件夹
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

添加配置文件conf.xml

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
cofi.xml这个文件里只需要改三行
1. 数据库的名字
2.用户名 和 密码
.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" />//事务管理,类型是jdbc
			<dataSource type="POOLED">//数据源 连接池->提高访问速度
				<property name="driver" value="com.mysql.jdbc.Driver" />//加载数据库驱动
				//jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC  数据库是多少以上
				<property name="url" value="jdbc:mysql://localhost:3306/mybatis" />//访问数据库的路径,最后(mybatis)是访问数据库名字
				<property name="username" value="root" />
				<property name="password" value="root" />
			</dataSource>
		</environment>
	</environments>
</configuration>

修改后的结果是:
在这里插入图片描述
格式化代码
在这里插入图片描述

定义实体类

新建package,class
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

package com.zhang.mybatis.sy1;

public class User {
	//三个变量要和数据库建的User表 字段名相同
	private int id;
	private String name;
	private int age;
	//get,set方法
	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;
	}
	
	//toString方法
	
	@Override
	public String toString() {
		return "User [id=" + id + ", name=" + name + ", age=" + age + "]";
	}	
}

定义操作表user的sql的映射文件 userMapper.xml

在这里插入图片描述
在这里插入图片描述

<mapper></mapper>这个文件是要自己写的
sql语句写在.xml文件中,实现了java和完全分离

namespace 类名

<?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.zhang.mybatis.sy1.userMapper">//namespace 命名空间,具有唯一性,类名!!!
	<select id="getUser" parameterType="int" resultType="com.zhang.mybatis.sy1.User">//这个id也是唯一的
	//parameterType 是下面输入变量的类型(这里是id的类型)
	//resultType 是返回的结果类型(这里是*,user的全类名),检查是否正确,按住ctrl变为超链接,点击可跳转到实体类
		//第一个id是字段名,#是占位符,{这个id是变量}
		select * from users where id=#{id}
	</select>
</mapper>

在这里插入图片描述

注册:将mapper.xml文件注册到conf.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://localhost:3306/mybatis" />
				<property name="username" value="root" />
				<property name="password" value="123456" />
			</dataSource>
		</environment>
	</environments>
	
	
	<mappers>
		<mapper resource="com/zhang/mybatis/sy1/userMapper.xml" /> //先指明路径,从com开始,全路径名
	</mappers>
	
</configuration>

在这里插入图片描述

此时关于mybatis的配置步骤已全部完成 。

一共6步,这个只是测试

新建测试类,看是否成功
先复制进去

public class Test {
public static void main(String[] args) throws IOException {
String resource = "conf.xml"; 
//加载 mybatis 的配置文件(它也加载关联的映射文件)
Reader reader = Resources.getResourceAsReader(resource); 
//构建 sqlSession 的工厂
SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader);
//创建能执行映射文件中 sql 的 sqlSession
SqlSession session = sessionFactory.openSession();
//映射 sql 的标识字符串
String statement = "com.rjxy.mybatis.bean.userMapper"+".selectUser";
//执行查询返回一个唯一 user 对象的 sql
User user = session.selectOne(statement, 1);
System.out.println(user);
}
}


在这里插入图片描述

变量1,传给了mapper里面  id=#{id},相当于 id=#{1};

在这里插入图片描述
都保存以后运行,这个就是数据库里id为1,的数据
在这里插入图片描述
在这里插入图片描述

相关推荐

  1. 实验报告4-MyBatis与Spring的整合

    2024-03-26 20:26:04       12 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-26 20:26:04       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-26 20:26:04       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-26 20:26:04       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-26 20:26:04       20 阅读

热门阅读

  1. C语言——字符函数和字符串函数(上)

    2024-03-26 20:26:04       16 阅读
  2. Vue3 插槽Slot

    2024-03-26 20:26:04       17 阅读
  3. 第三章-RocketMQ源码解析-基础模块

    2024-03-26 20:26:04       17 阅读
  4. 【阅读笔记】《西游记》

    2024-03-26 20:26:04       16 阅读
  5. LeetCode第四天(448. 找到所有数组中消失的数字)

    2024-03-26 20:26:04       16 阅读
  6. Python+Pytest+Allure搭建接口自动化测试框架

    2024-03-26 20:26:04       20 阅读
  7. 【C++】特殊类的设计

    2024-03-26 20:26:04       21 阅读
  8. Linux系统定时备份mysql数据库

    2024-03-26 20:26:04       20 阅读
  9. AtCoder Regular Contest 140 C - ABS Permutation (LIS ver.)

    2024-03-26 20:26:04       15 阅读