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()); } } }