`
BBjava
  • 浏览: 123845 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

mybatisSample

阅读更多
首先来一个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最简单的示例

    在这个名为"MyBatisSample最简单的示例"的压缩包中,我们很可能会找到一个基础的MyBatis应用实例,包含了对数据库的增、删、改、查操作。 首先,MyBatis的核心组件包括三个:SqlSessionFactoryBuilder、...

    这是一个C#的MyBatissample的样例

    在这个特定的样例中,我们看到一个名为"MyBatissample"的项目,它展示了如何在C#环境中使用MyBatis。下面我们将深入探讨C#中的MyBatis使用以及涉及到的相关知识点。 1. **MyBatis简介**: MyBatis 是一款轻量级的...

    MyBatisSample:MyBatis示例代码

    在这个"MyBatisSample"项目中,我们可以深入学习MyBatis的基本用法和核心特性。下面我们将详细探讨以下几个关键知识点: 1. **MyBatis安装与配置**:首先,你需要在项目中引入MyBatis的依赖,通常是通过Maven或...

    mybatis学习总结:基础示例

    通过这个“mybatisSample”压缩包,你可以找到一个基础的MyBatis项目实例,其中包括了配置文件、Mapper接口、Mapper XML文件以及测试用例。通过阅读和运行这些示例,你可以更深入地了解MyBatis的工作流程,并掌握...

    MyBatis.NET两个代码生成工具源码+demo+学习资料.zip

    “MesnacCoding_MyBatis.NET”和“ibatis生成工具和使用文档以及样例”两个文件夹是网上两位大佬开发的开源生成工具源码和学习资料 ...“MyBatisSample”是另外一大佬开发的一个使用例子 都是非常好的资料,分享一下

    MyBatis中的内存不足问题

    在使用MyBatis进行数据操作时,可能会遇到内存...对于相关技术的深入学习,可以参考提供的PDF文档《Out-of-memory-issue-in-MyBatis.pdf》以及MyBatis官方文档,或者通过下载的MyBatisSample.zip中的示例代码进行实践。

Global site tag (gtag.js) - Google Analytics