环境
- JDK1.7
- Oracle数据库
- ecplise
核心文件配置和两个jar包
链接:https://pan.baidu.com/s/1dswl90NYNq6QWVaYfUznIA
提取码:ry1d
配置
- 创建一个Java Project
file - new - java project - 点击 window --> Perspective->搜索xml–>选择xml catalog
- 点击add,下图圈1下面两个是我已经添加过了
- 打开mybatis-config.xml文件,复制图上代码,然后将这个代码粘贴在
- 将复制的代码粘贴在1处,然后点击file system 选择mybatis-3-config.did 文件,然后点击ok(下图中为了显示出这个文件,把路径删减了,选择文件所在的地方就可以)
- 在重复上述步骤,点击add ,复制StudentMapper.xml文中的代码粘贴在Key处,点击file system选择mybatis-3-mapper.did,点击ok。
7.右击Java project项目名,new一个Folder起名为lib,然后将mybatis-3.2.2.jar和ojbc7.jar复制到lib里面,选中这两个jar包右击build path,结构如下
- 在选中src右击new一个package起名为config,在config下new一个file起名为db.properties
db.driver=oracle.jdbc.driver.OracleDriver
db.url=jdbc:oracle:thin:@127.0.0.1:1521:orcl
db.username=scott //改成自己的数据库用户名
db.password=tiger //密码
8. 在config下面创建一个xml文件。(右击->other->搜索xml->xml file)起名为mybatis.xml,点击next
- 同理创建sqlmapper.xml文件
- 打开oracle数据库创建表,然后输入几个数据
create table user1(
id number(4) primary key,
uname varchar2(10),
upwd varchar2(20),
type number(2)
)
insert into user1 values (1,'admin','123',1)
- src下创建一个package 名字为com.user.entity,然后new一个class
package com.user.entity;
public class User {
private int id;
private String uname;
private String upwd;
private int type;
//创建无参数的额构造器
public User() {
super();
// TODO Auto-generated constructor stub
}
//创建有参数的构造器
public User(int id, String uname, String upwd, int type) {
super();
this.id = id;
this.uname = uname;
this.upwd = upwd;
this.type = type;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUname() {
return uname;
}
public void setUname(String uname) {
this.uname = uname;
}
public String getUpwd() {
return upwd;
}
public void setUpwd(String upwd) {
this.upwd = upwd;
}
public int getType() {
return type;
}
public void setType(int type) {
this.type = type;
}
}
- mybatis.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "mybatis-3-config.dtd" >
<configuration>
<!-- 加载db文件 -->
<properties resource="config/db.properties"></properties>
<!-- 配置数据库 -->
<environments default="dev">
<environment id="dev">
<!-- 配置事务管理 -->
<transactionManager type="JDBC"></transactionManager>
<!-- 配置数据源 -->
<dataSource type="POOLED">
<!-- 加载数据库的驱动 -->
<property name="driver" value="${db.driver}"/>
<!-- 加载数据库的连接 -->
<property name="url" value="${db.url}"/>
<!-- 加载数据库的用户名 -->
<property name="username" value="${db.username}"/>
<!-- 加载数据库的密码 -->
<property name="password" value="${db.password}"/>
</dataSource>
</environment>
</environments>
<!-- 加载映射文件 -->
<mappers>
<mapper resource="config/sqlmapper.xml"></mapper>
</mappers>
</configuration>
- sqlmapper.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "mybatis-3-mapper.dtd" >
<mapper namespace="user">
<!-- 查询用户信息 -->
<select id="findUser" resultType="com.user.entity.User">
select * from user1
</select>
</mapper>
- 创建package名字为com.user.test,new class 名 Test,测试一下是否连接上了
package com.user.test;
import java.io.IOException;
import java.io.Reader;
import java.util.List;
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.user.entity.User;
public class Test {
public static void main(String[] args) {
//读取配置mybatis.xml配置文件
try {
Reader read=Resources.getResourceAsReader("config/mybatis.xml");
//通过配置文件configration构造SqlSessionFactory对象
SqlSessionFactory sessionFactory=new SqlSessionFactoryBuilder().build(read);
//通过SqlSessionFactory构造SqlSession的对象
SqlSession session=sessionFactory.openSession();
List<User> list=session.selectList("user.findUser");
for(User user:list){
System.out.println(user.getUname());
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
运行一下,显示成功了。
出现的错误
出现下面两个错误大概率是因为ojdbc驱动与jdk版本不匹配,原来我用的是ojdbc6然后一直是图一的错误,后来改了ojdbc8出现了图二的错误,用了ojdbc7以后运行正确了。