我的第一个MyBatis

时间:2022-07-21 20:44:55

(1)步骤:1.新建实体类对象---根据数据库字段来设计,有多少字段设多少变量,变量名要字段名一致。

      2.新建配置文件config.xml---主要用来获取数据源,里面内容大致需要填写:数据库驱动名、数据库地址名、数据库登录名、数据库登录密码。

     3.新建映射文件Mapper.xml---数据库的增、删、改、查都是在这里书写。

     4.编写Java主程序进行测试查询结果。

(2)

1.数据库表Person的字段和数据

我的第一个MyBatis

2.根据数据库表单新建实体类对象

package entity;

public class Person {
private int id;
private String name;
private int age;
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;
} @Override
public String toString() {
return this.name+","+this.age+","+this.id;
} }

3..新建配置文件config.xml

我的第一个MyBatis

<?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="oracle.jdbc.OracleDriver"/>
<property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/>
<!-- <property name="url" value="jdbc:mysql://localhost:3306/MyBatis?useUnicode=true&amp;characterEncoding=utf8"/> -->
<property name="username" value="system"/>
<property name="password" value="Qq122820"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="entity/personMapper.xml"/>
</mappers>
</configuration>

4.新建映射文件Mapper.xml

我的第一个MyBatis

<?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="entity.personMapper">
<select id="selectBlog" resultType="entity.Person" parameterType="int">
select * from Person where id=#{id}
</select> </mapper>

5.编写Java主程序进行测试查询结果。

package entity;

import java.io.IOException;
import java.io.Reader; import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder; public class starts { public static void main(String[] args) throws IOException {
//加载Mybatis配置文件(为了访问数据库)
Reader reader = Resources.getResourceAsReader("entity/config.xml");//配置文件所在路径
//通过 SqlSessionFactory的SqlSessionFactoryBuilder()对象产生sessionFactory,产生后的sessionFactory打开session
SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader);
SqlSession session = sessionFactory.openSession();
//获取 namespace + id,执行映射文件里的哪个sql语句;
String statement = "entity.personMapper.selectBlog";
Person person = session.selectOne(statement,1);//传递参数1,查询id=1的数据
System.out.println(person);
//关闭session
session.close();
} }

6.查询结果

我的第一个MyBatis

7.所遇到的问题/解决方法

(1)问题

我的第一个MyBatis

(2)解决方法

原来是映射文件Mapper.xml中namespace="entity.personMapper.xml"搞错了,不能加后缀,要改成namespace="entity.personMapper"

8.总结

映射文件中一般引入路径问题都不加后缀;

主程序/配置文件引入路径问题需要加后缀。