单表CRUD

SQL:

CREATE TABLE `t_user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(50) DEFAULT NULL,
  `sex` varchar(1) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;
 

目录结构:

url=jdbc:mysql://localhost:3306/web
driver=com.mysql.jdbc.Driver
userName=root
password=risetek

具体配置说明:SqlMapConfig.xml配置说明文章

http://hyf-overcome.iteye.com/blog/1294321
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
 "http://www.ibatis.com/dtd/sql-map-config-2.dtd">

<sqlMapConfig>
	<properties resource="org/hyf/ibatis/config/SqlMapConfig.properties"/>
	
	<settings
		cacheModelsEnabled="true"
		enhancementEnabled="true"
		lazyLoadingEnabled="true"
		errorTracingEnabled="true"
		maxRequests="32"
		maxSessions="10"
		maxTransactions="5"
		useStatementNamespaces="false"
	/>
	
	<transactionManager type="JDBC">
		<dataSource type="SIMPLE">
			<property name="JDBC.Driver" value="${driver}"/>
			<property name="JDBC.ConnectionURL" value="${url}"/>
			<property name="JDBC.Username" value="${userName}"/>
			<property name="JDBC.Password" value="${password}"/>
			<property name="Pool.MaximumActiveConnections" value = "10"/>
			<property name="Pool.MaximumIdleConnections" value="5"/>
			<property name="Pool.MaximumCheckoutTime" value="120000"/>
			<property name="Pool.TimeToWait" value="500"/>
	        <property name="Pool.PingQuery" value ="select 1 from ACCOUNT"/>
	        <property name="Pool.PingEnabled" value ="false"/>
	        <property name="Pool.PingConnectionsOlderThan" value ="1"/>
	        <property name="Pool.PingConnectionsNotUsedFor" value ="1"/>
		</dataSource>
	</transactionManager>
	
	<sqlMap resource="org/hyf/ibatis/maps/User.xml"/>
</sqlMapConfig>
 
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" 
	"http://www.ibatis.com/dtd/sql-map-2.dtd">
	
<sqlMap namespace="User">
	<typeAlias alias="user" type="org.hyf.ibatis.model.User"/>
	
	<select id="getUser" resultClass="user">
		select * from t_user
	</select>
	
	<update id="updateUser" parameterClass="user">
		update t_user set name=#name#, sex=#sex# where id=#id#
	</update>
	
	<insert id="insertUser" parameterClass="user">
		insert into t_user values (null, #name#, #sex#)
		<selectKey resultClass="int" keyProperty="id">
			SELECT @@IDENTITY AS id
		</selectKey>
	</insert>
	
	<delete id="deleteUser" parameterClass="Integer">
		delete from t_user where id=#id#
	</delete>
	
</sqlMap>
package org.hyf.ibatis.model;

import java.io.Serializable;

/**
 * <br>
 * description: User实体类
 * </br>
 * @author haoyf
 *
 */
public class User implements Serializable{

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	private int id;
	
	private String name;
	
	private String sex;

	public int getId() {
		return id;
	}

	public void setId(int 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;
	}
	
	
}
 
package org.hyf.ibatis;

import java.io.IOException;
import java.io.Reader;
import java.sql.SQLException;
import java.util.List;

import org.hyf.ibatis.model.User;

import com.ibatis.common.resources.Resources;
import com.ibatis.sqlmap.client.SqlMapClient;
import com.ibatis.sqlmap.client.SqlMapClientBuilder;

/**
 * <br>
 * description: USER实体做CRUD
 * </br>
 * @author haoyf
 *
 */
public class ExampleMain {

	private static SqlMapClient sqlMap = null;
	
	//获取配置文件
	static {
		String resource = "org/hyf/ibatis/config/SqlMapConfig.xml";
		try {
			Reader reader = Resources.getResourceAsReader(resource);
			sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	
	/**
	 * <br>
	 * description: 添加数据
	 * </br>
	 * @param user
	 * 				实体类
	 */
	public void insert(User user) {
		try {
			sqlMap.startTransaction();
			sqlMap.insert("insertUser", user);
			sqlMap.commitTransaction();
		} catch (SQLException e) {
			e.printStackTrace();
		} finally {
			try {
				sqlMap.endTransaction();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
	}

	/**
	 * <br>
	 * description: 删除数据
	 * </br>
	 * @param id
	 * 				ID
	 */
	public void delete(Integer id) {
		try {
			sqlMap.startTransaction();
			sqlMap.delete("deleteUser", id);
			sqlMap.commitTransaction();
		} catch (SQLException e) {
			e.printStackTrace();
		} finally {
			try {
				sqlMap.endTransaction();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
	}
	
	/**
	 * <br>
	 * description: 修改数据
	 * </br>
	 * @param user
	 * 				实体类
	 */
	public void update(User user) {
		try {
			sqlMap.startTransaction();
			sqlMap.update("updateUser", user);
			sqlMap.commitTransaction();
		} catch (SQLException e) {
			e.printStackTrace();
		} finally {
			try {
				sqlMap.endTransaction();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
	}
	
	/**
	 * <br>
	 * description: 获取数据
	 * </br>
	 * @return
	 * 				返回全部数据
	 */
	public List<User> get() {
		List<User> list = null;
		try {
			sqlMap.startTransaction();
			list = sqlMap.queryForList("getUser");
			sqlMap.commitTransaction();
		} catch (SQLException e) {
			e.printStackTrace();
		} finally {
			try {
				sqlMap.endTransaction();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
		return list;
	}
	
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		ExampleMain example = new ExampleMain();
		
		User user = new User();
		user.setName("haoyf");
		user.setSex("1");
//		
		//增
//		example.insert(user);
		
		//删
//		example.delete(5);
//		
//		user.setId(3);
		//改
//		example.update(user);
//		
		//查
		List<User> users = example.get();
		for(User u : users) {
			System.out.print(u.getId() + "    ");
			System.out.print(u.getName() + "    ");
			System.out.println(u.getSex());
		}
	}

}

猜你喜欢

转载自hyf-overcome.iteye.com/blog/1294317