MyBatis框架(原生接口)

Mybatis使用流程

1. 引入mybatis.jar和mysql-connector.jar包

先创建项目,然后引入jar包,方便接下来的操作

2. XML 配置文件书写

参考文献:mybatis – MyBatis 3 | 入门

XML位置:在src目录下,与其他包平齐

XML配置文件作用:包含MyBatis 系统的核心设置,包括获取数据库连接实例的数据源(DataSource)以及决定事务作用域和控制方式的事务管理器(TransactionManager)

<?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>
	<!-- 配置MyBatis运行环境-->
  <environments default="development">
    <environment id="development">
		<!-- 配置JDBC事务管理-->
      <transactionManager type="JDBC"/>
      <!-- 用POOLED配置JDBC数据源连接池-->
      <dataSource type="POOLED">
		  <!-- 取到JDBC的连接-->
        <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
    	<!-- 连接数据库,geek是我的数据库名称-->
        <property name="url" value="jdbc:mysql://localhost:3306/geek"/>
    	<!-- 连接数据库,root是我的数据库服务账号-->
        <property name="username" value="root"/>
        <property name="password" value="数据库密码"/>
      </dataSource>
    </environment>
  </environments> 
  
    <!-- 配置mapper映射文件,用'/'的目的是因为最有一个文件有xml后缀,方便区分文件和目录-->
  <mappers>
    <mapper resource="com/geek/mapper/AccountMapper.xml"/>
  </mappers>
  
</configuration>

3. 创建数据库表

information

4. 创建数据类

Account

public class Account {
	private int id;
	private String username;
	private String password;
	private int age;
	
	public Account() {
	}

	public Account(int id, String username, String password, int age) {
		this.id = id;
		this.username = username;
		this.password = password;
		this.age = age;
	}

	public int getId() {
		return id;
	}

	public void setId(int 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 int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	@Override
	public String toString() {
		return "Account [id=" + id + ", username=" + username + ", password=" + password + ", age=" + age + "]";
	}

}

5. 创建映射关系

AccountMapper.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就是自己这个xml-->
<mapper namespace="com.geek.mapper.AccountMapper">
	
    <!-- insert就是对应的插入操作,select对应选择,以此类推-->
    <!-- id就是自动创建的方法名,自己写就行,parameterType是方法的参数类型,还有returnType等-->
  <insert id="save" parameterType="com.geek.mybatis.Account">
      <!-- 这里写SQL语句,相当于方法体,values里面的用#{属性名}的形式-->
    insert into information(username,password,age) values(#{username},#{password},#{age})
  </insert>
  
</mapper>

6. 写测试函数

import java.io.IOException;
import java.io.InputStream;

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 com.geek.mybatis.Account;

public class Test {

	public static void main(String[] args) {

        	//固定写法获取sqlSession
			InputStream inputStream = Test.class.getClassLoader().getResourceAsStream("config.xml");
			SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
			SqlSession sqlSession = sqlSessionFactory.openSession();
        
            //获取mapper文件中写好的方法,这里是save(那个xml文件对应的某个id)
			String statement = "com.geek.mapper.AccountMapper.save";
   
			Account account = new Account(2,"张三", "123456",20);
            //调用方法
			sqlSession.insert(statement, account);
            //提交到数据库
			sqlSession.commit();
        	//关闭sqlSession
			sqlSession.close();

	}


}

7. 结构图

posted @ 2023-05-23 11:57  Geek李  阅读(48)  评论(0)    收藏  举报