首先来一个util类,MybatisUtil:
package org.iteye.bbjava.mybatis.util;
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 MyBatisUtil {
private static SqlSessionFactory sqlSessionFactory = null;
public static SqlSessionFactory buildSessionFacotory(){
Reader reader = null;
if (sqlSessionFactory == null) {
String resource = "org/iteye/bbjava/mybatis/configuration.xml";
try {
reader = Resources.getResourceAsReader(resource);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
return sqlSessionFactory;
}
return sqlSessionFactory;
}
public static SqlSessionFactory getSqlSessionFactory() {
return sqlSessionFactory;
}
}
下面是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="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/test" />
<property name="username" value="root" />
<property name="password" value="123456" />
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="org/iteye/bbjava/mybatis/UserMapper.xml" />
</mappers>
</configuration>
UserMapper.java文件:
package org.iteye.bbjava.mybatis;
public class UserMapper {
private int id;
private String name;
private String password;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
}
UserMapper.java文件对应的mybatis的配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN"
"http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd">
<mapper namespace="org.iteye.bbjava.mybatis.UserMapper">
<select id="selectOne" parameterType="int"
resultType="org.iteye.bbjava.mybatis.UserMapper">
select * from user where id = #{id}
</select>
<insert id="insertUserMapper" parameterType="org.iteye.bbjava.mybatis.UserMapper">
insert into user(id,name,password) values(#{id},#{name},#{password})
</insert>
</mapper>
配置说明:
引用
<mapper namespace="org.iteye.bbjava.mybatis.UserMapper">
</mapper>
namespace是可以自已取,据我了解好像并没有太大的作用,只是要用全名来消除歧义。
一个简单的dao类,UserDao.java文件:
package org.iteye.bbjava.mybatis.dao;
import org.apache.ibatis.session.SqlSession;
import org.iteye.bbjava.mybatis.UserMapper;
import org.iteye.bbjava.mybatis.util.MyBatisUtil;
public class UserDao {
public UserMapper query(int id) {
SqlSession session = MyBatisUtil.buildSessionFacotory().openSession();
UserMapper user = null;
try {
user = (UserMapper) session.selectOne(
"org.iteye.bbjava.mybatis.UserMapper.selectOne", id);
} catch (Exception e) {
e.printStackTrace();// TODO: handle exception
} finally {
session.close();
}
return user;
}
public void insert(UserMapper um) {
SqlSession session = MyBatisUtil.buildSessionFacotory().openSession();
try {
session.insert("insertUserMapper", um);
} finally {
session.commit();
session.close();
}
}
}
测试类:
package org.iteye.bbjava.mybatis.test;
import org.iteye.bbjava.mybatis.UserMapper;
import org.iteye.bbjava.mybatis.dao.UserDao;
public class UserTest {
public static void main(String[] args) {
UserDao ud = new UserDao();
/*UserMapper user = ud.query(1);
System.out.println(user.getId());
System.out.println(user.getName());*/
UserMapper um = new UserMapper();
um.setId(3);
um.setName("zbc");
um.setPassword("123456");
ud.insert(um);
um = ud.query(1);
System.out.println(um.getName());
}
}
在MySQL数据中选择test,创建一张user表,代码如下:
use test;
create table user(
id int not null,
name varchar(255),
password varchar(16)
primary key(id);
);
- 大小: 47.2 KB
分享到:
相关推荐
在这个名为"MyBatisSample最简单的示例"的压缩包中,我们很可能会找到一个基础的MyBatis应用实例,包含了对数据库的增、删、改、查操作。 首先,MyBatis的核心组件包括三个:SqlSessionFactoryBuilder、...
在这个特定的样例中,我们看到一个名为"MyBatissample"的项目,它展示了如何在C#环境中使用MyBatis。下面我们将深入探讨C#中的MyBatis使用以及涉及到的相关知识点。 1. **MyBatis简介**: MyBatis 是一款轻量级的...
在这个"MyBatisSample"项目中,我们可以深入学习MyBatis的基本用法和核心特性。下面我们将详细探讨以下几个关键知识点: 1. **MyBatis安装与配置**:首先,你需要在项目中引入MyBatis的依赖,通常是通过Maven或...
通过这个“mybatisSample”压缩包,你可以找到一个基础的MyBatis项目实例,其中包括了配置文件、Mapper接口、Mapper XML文件以及测试用例。通过阅读和运行这些示例,你可以更深入地了解MyBatis的工作流程,并掌握...
“MesnacCoding_MyBatis.NET”和“ibatis生成工具和使用文档以及样例”两个文件夹是网上两位大佬开发的开源生成工具源码和学习资料 ...“MyBatisSample”是另外一大佬开发的一个使用例子 都是非常好的资料,分享一下
在使用MyBatis进行数据操作时,可能会遇到内存...对于相关技术的深入学习,可以参考提供的PDF文档《Out-of-memory-issue-in-MyBatis.pdf》以及MyBatis官方文档,或者通过下载的MyBatisSample.zip中的示例代码进行实践。