MyBatis连接数据实例
本文介绍一个使用MyBatis连接oracle数据库的实例:
- 1、首先创建MyBatis-Config.xml文件
- 2、创建实体类+(Mapper.xml文件或接口加注解形式)
- 3、创建实体类的Mapper.xml文件
- 4、将Mapper信息注册到Mabatis配置文件中(MyBatis-Config.xml)
- 5、创建测试类
数据库测试表:
create table USERINFO
(
ID VARCHAR2(20),
PASSWORD VARCHAR2(10),
NAME VARCHAR2(10)
)
1、首先创建MyBatis-Config.xml文件
文件中可以:
(1)配置类型别名,使用标记typeAlias,使用一个简单的别名来代替一个冗长的类型。
(2)配置数据库连接信息
(3)注册实体类的mapper
代码块
<?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>
<typeAliases>
<typeAlias type="domain.User" alias="User"/>
</typeAliases>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="oracle.jdbc.driver.OracleDriver"/>
<property name="url" value="jdbc:oracle:thin:@192.168.100.108:1521:orcl"/>
<property name="username" value="AAA"/>
<property name="password" value="123"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="domain/UserMapper.xml"/>
</mappers>
</configuration>
2、创建实体类+(Mapper.xml文件或接口加注解形式)
代码块
package domain;
public class User {
private int id;
private String password;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "User [id=" + id + ", name=" + name + ", password=" + password
+ "]";
}
}
3、创建实体类的Mapper.xml文件
文件中:
(1)写入sql语句
(2)返回类型可用resultMap,添加resultMap标签
(3)也可使用resultType
代码块
<?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="domain.UserMapper">
<resultMap type="domain.User" id="UserResult">
<id column="id" property="id"/>
<result column="password" property="password"/>
<result column="name" property="name"/>
</resultMap>
<select id="selectUser" parameterType="int" resultType="User">
select * from USERINFO where id = #{id}
</select>
</mapper>
4、将Mapper信息注册到Mabatis配置文件中(MyBatis-Config.xml)
5、创建测试类
(1)获取sqlSessionFactory对象;
(2)获取sqlSession对象;
代码块
package domain;
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;
public class App {
static SqlSessionFactory sqlSessionFactory = null;
static{
try {
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
} catch (Exception e) {
// TODO: handle exception
System.out.println(e.getMessage());
}
}
public static void main(String[] args) {
if (sqlSessionFactory == null) {
System.out.println("错误!");
return;
}
SqlSession session = sqlSessionFactory.openSession();
User user = session.selectOne("domain.UserMapper.selectUser", 1);
session.close();
System.out.println(user);
}
}
测试结果:User [id=1, name=小康, password=123456]