Ibatis HelloWorld 入门

1.xml

<?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="${driverClass}" />
				<property name="url" value="${url}" />
				<property name="username" value="${username}" />
				<property name="password" value="${password}" />
			</dataSource>
		</environment>
	</environments>
	<mappers>
		<mapper resource="com/ibatis/UserVo.xml" />
	</mappers>
</configuration>

2.userVo.xml

<?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="com.ibatis">
	<select id="userVoList" parameterType="int" resultType="com.ibatis.UserVo">
		SELECT * FROM UserVo
	</select>
	<select id="queryUserVoById" parameterType="int" resultType="com.ibatis.UserVo">
		SELECT * FROM UserVo where id= #{id}
	</select>
	<insert id="insertUserVo" parameterType="com.ibatis.UserVo">
	    INSERT INTO UserVo(name,age,sex) values(#{name},#{age},#{sex})
	</insert>
</mapper>
 

3.jdbc.properties

driverClass=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost/msb
username=root
password=123456
 

package com.ibatis;

import java.io.Serializable;

/**
 * @ClassName UserVo
 * @Description TODO
 * @author LiuQing
 * @date 2012-10-25 下午10:04:55
 *
 */
public class UserVo implements Serializable {
	
	private Integer id;
	
	private String name;
	
	private String sex;
	
	private int age;
	
	public UserVo() {
	}

	public UserVo(Integer id) {
		super();
		this.id = id;
	}

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getSex() {
		return sex;
	}

	public void setSex(String sex) {
		this.sex = sex;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	@Override
	public String toString() {
		return "UserVo [id=" + id + ", name=" + name + ", sex=" + sex
				+ ", age=" + age + "]";
	}
	
	
	
	

}
 

test sample

package com.ibatis;

import java.io.IOException;
import java.io.InputStream;
import java.util.Collection;
import java.util.Properties;
import java.util.Random;

import javax.annotation.Resource;

import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

/**
 * @ClassName TestMan
 * @Description TODO
 * @author LiuQing
 * @date 2012-10-25 下午9:54:14
 *
 */
public class TestMan {
	
	private static SqlSessionFactory sessionFactory;
	
	private static ThreadLocal<SqlSession> sessiones = new ThreadLocal<SqlSession>();
	
	static {
		
		try {
		    InputStream myIbatis = TestMan.class.getResourceAsStream("/com/ibatis/myBatis-config.xml");
		    Properties config = new Properties();
			config.load(Resource.class.getResourceAsStream("/com/ibatis/jdbc.properties"));
			sessionFactory = new SqlSessionFactoryBuilder().build(myIbatis, config);
		} 
		catch (IOException e) {
			e.printStackTrace();
		}
	}
	
	public SqlSession getSession() {
		if (sessiones.get() != null) {
			return sessiones.get();
		}
		SqlSession session =  sessionFactory.openSession();
		sessiones.set(session);
		return session;
	}
	
	public void release() {
		SqlSession session = sessiones.get();
		if (session != null) {
			session.close();
			sessiones.remove();
		}
	}
	
	/**
	 * 
	 * @Title addUserVo 
	 * @Description addition UserVo
	 * @param userVo
	 * @return  UserVo
	 */
	public UserVo addUserVo(UserVo userVo) {
		SqlSession session = this.getSession();
		session.insert("insertUserVo",userVo);
		session.commit();
		this.release();
		return userVo;
	}
	
	/**
	 * 
	 * @Title queryById 
	 * @Description queryById
	 * @param userVo
	 * @return  UserVo
	 */
	public UserVo queryById(UserVo userVo) {
		return this.getSession().selectOne("queryUserVoById", userVo.getId());
	}
	
	/**
	 * 
	 * @Title queryByAll 
	 * @Description 
	 * @return  Collection<UserVo>
	 */
	public Collection<UserVo> queryByAll() {
		return this.getSession().selectList("userVoList");
	}
	

	public static void main(String[] args) throws IOException {
		// TODO Auto-generated method stub
		TestMan testMan = new TestMan();
		UserVo vo = new UserVo();
		vo.setName("LouQing" + new Random().nextInt(94));
		vo.setAge(new Random().nextInt(34));
		vo.setSex("male");
		testMan.addUserVo(vo);
		
		Collection<UserVo> userVoes = testMan.queryByAll(); 
		
		for (UserVo en:userVoes) {
			System.out.println(en);
		}
		testMan.queryById(new UserVo(2));

	}

}
 

猜你喜欢

转载自mianhuaman.iteye.com/blog/1705654
今日推荐