,升级版是mybatis,在配置文件里写sql语句对字段进行CURD)
jar包
sqlMapConfig
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-config-2.dtd"> <sqlMapConfig> <!--给较长的类取个别名--> <!--是否启用缓存机制--> <!-- 是否启用延迟加载机制 --> <!-- 是否启用字节码增强机制 --> <!-- 是否启用错误处理机制 --> <!-- 最大并发请求数 --> <!-- 最大Session数 --> <!-- 最大并发事务数 --> <!-- 是否启用名称空间 --> <settings cacheModelsEnabled ="true" lazyLoadingEnabled="true" enhancementEnabled="true" errorTracingEnabled="true" maxRequests="32" maxSessions="10" maxTransactions="5" useStatementNamespaces="true"/> <!-- 定义了ibatis的事务管理器有3中(JDBC,JTA,EXTERNAL) --> <!-- type属性指定了数据源的链接类型,也有3种类型(SIMPLE,DBCP,JNDI) --> <!-- 连接池维持的最大容量 --> <!-- 连接池允许挂起的最大连接 --> <!-- 连接被某个任务所允许占用的最大时间 --> <!-- 线程允许等待的最大时间 --> <transactionManager type ="JDBC" > <dataSource type ="SIMPLE" > <property name ="JDBC.Driver" value ="oracle.jdbc.OracleDriver" /> <property name ="JDBC.ConnectionURL" value ="jdbc:oracle:thin:@localhost:1521:orcl" /> <property name ="JDBC.Username" value ="scott" /> <property name ="JDBC.Password" value ="orcl" /> <property name ="Pool.MaximumActiveConnections" value ="10" /> <property name ="Pool.MaximumIdleConnections" value ="5" /> <property name ="Pool.MaximumCheckoutTime" value ="120000" /> <property name ="TimeToWait" value ="500" /> </dataSource > </transactionManager > <!-- <transactionManager type ="JDBC"> <dataSource type ="JNDI"> <property name ="dataSource" value ="java:comp/env/jdbc/emp" /> </dataSource> </transactionManager> --> <sqlMap resource ="com/ibatis/entity/userMap.xml" /> </sqlMapConfig >
userMap .xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd"> <sqlMap namespace="user"> <typeAlias alias="User" type="com.ibatis.entity.User"/> <parameterMap id="userParameterMap" class="User" > <parameter property="username" /> <parameter property="userpassword" /> <parameter property="role" /> <parameter property="state" /> <parameter property="email" /> <parameter property="createdate" /> <parameter property="userid" /> </parameterMap> <resultMap id="userResultMap" class="User"> <result property="userid" column="USERID"/> <result property="username" column="USERNAME"/> <result property="userpassword" column="PASSWORD"/> <result property="role" column="ROLE"/> <result property="state" column="STATE"/> <result property="email" column="EMAIL"/> <result property="createdate" column="CREATEDATE"/> </resultMap> <select id="getUserByName" resultClass="User" > select * from USER_NEW where username =#username# </select> <insert id="insertUserInfo" parameterClass="User"> insert into USER_NEW values(#userid#,#username#,#userpassword#,#role#,#state#,#email#,#createdate#) </insert> <update id="updateUserInfo" parameterMap="userParameterMap"> update USER_NEW set username=?,userpassword=?,role =? ,state =?,email=?,createdate=? where userid =? </update> <delete id="deleteUserInfo" parameterClass="java.lang.Integer"> delete from USER_NEW WHERE userid=#userid# </delete> <select id="getUserList" resultClass="User"> select USERID as userid, USERNAME as username, USERPASSWORD as userpassword, ROLE as role, STATE as state, EMAIL as email, CREATEDATE as createdate FROM USER_NEW </select> <select id="getUserMap" resultClass="java.util.HashMap"> select * from USER_NEW </select> <select id="getUser" parameterClass="User" resultMap="userResultMap"> select*from USER_NEW <dynamic prepend=" where "> <isNotNull property="username" prepend="and"> username=#username#</isNotNull> <isNotNull property="userpassword" prepend="and"> userpassword=#userpassword#</isNotNull> </dynamic> </select> <select id="getUser2" parameterClass="User" resultMap="userResultMap"> select*from USER_NEW where 1=1 <isNotNull property="username" prepend="and"> username=#username#</isNotNull> <isNotNull property="userpassword" prepend="and"> userpassword=#userpassword#</isNotNull> </select> </sqlMap>
User.java
package com.ibatis.entity; import java.util.Date; public class User { private int userid; private String username; private String userpassword; private int role; private int state; private String email; private Date createdate; public User(String username, String userpassword, int role, int state, String email, Date createdate) { super(); this.username = username; this.userpassword = userpassword; this.role = role; this.state = state; this.email = email; this.createdate = createdate; } public User() { super(); // TODO Auto-generated constructor stub } public int getUserid() { return userid; } public void setUserid(int userid) { this.userid = userid; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getUserpassword() { return userpassword; } public void setUserpassword(String userpassword) { this.userpassword = userpassword; } public int getRole() { return role; } public void setRole(int role) { this.role = role; } public int getState() { return state; } public void setState(int state) { this.state = state; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public Date getCreatedate() { return createdate; } public void setCreatedate(Date createdate) { this.createdate = createdate; } }
UserDao.java
package com.ibatis.dao; import java.util.List; import java.util.Map; import com.ibatis.entity.User; public interface UserDao { public User getUserByName(String username); public boolean addUser(User user); public boolean updateUser(User user); public boolean delUser(int userid); public List<User> exploreIbatis(); public Map<String,Object> exploreIbatis2(); public User getUser(User user); }
UserDaoImpl.java
package com.ibatis.dao.impl; import java.sql.SQLException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import com.ibatis.dao.UserDao; import com.ibatis.entity.User; import com.ibatis.sqlmap.client.SqlMapClient; import com.ibatis.util.SqlMapClientUtil; public class UserDaoImpl implements UserDao { SqlMapClient sqlMapClient = SqlMapClientUtil.getSqlMapClient(); User user=null; public User getUserByName(String username){ try { //("user.getUserByName")命名空间 id username user = (User)sqlMapClient.queryForObject("user.getUserByName", username); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return user; } public boolean addUser(User user) { try { int count=sqlMapClient.update("user.insertUserInfo", user); System.out.println(count); if(count>0){ return true; } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return false; } public boolean updateUser(User user) { try { int count=sqlMapClient.update("user.updateUserInfo", user); System.out.println(count); if(count>0){ return true; } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return false; } public boolean delUser(int userid) { try { int count =sqlMapClient.delete("user.deleteUserInfo", userid); System.out.println(count); if(count>0){ return true; } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return false; } public List<User> exploreIbatis(){ List<User> list= new ArrayList<User>(); try { list = sqlMapClient.queryForList("user.getUserList"); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return list; } public Map<String,Object> exploreIbatis2(){ Map <String,Object>map = new HashMap<String, Object>(); try { map = sqlMapClient.queryForMap("user.getUserMap", null, "userid"); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return map; } public User getUser(User user) { User userTemp=null; try { userTemp=(User)sqlMapClient.queryForObject("user.getUser", user); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return null; } }
SqlMapClientUtil
package com.ibatis.util; import java.io.IOException; import java.io.Reader; import com.ibatis.common.resources.Resources; import com.ibatis.sqlmap.client.SqlMapClient; import com.ibatis.sqlmap.client.SqlMapClientBuilder; public class SqlMapClientUtil { public static SqlMapClient getSqlMapClient() { SqlMapClient sqlMapClient = null; Reader reader = null; try { reader = Resources.getResourceAsReader("sqlMapConfig.xml"); sqlMapClient = SqlMapClientBuilder.buildSqlMapClient(reader); reader.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { if (reader != null) { try { reader.close(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } } return sqlMapClient; } }
SqlMapClientTest
package com.ibatis.util; import java.io.IOException; import java.io.Reader; import com.ibatis.common.resources.Resources; import com.ibatis.sqlmap.client.SqlMapClient; import com.ibatis.sqlmap.client.SqlMapClientBuilder; public class SqlMapClientUtil { public static SqlMapClient getSqlMapClient() { SqlMapClient sqlMapClient = null; Reader reader = null; try { reader = Resources.getResourceAsReader("sqlMapConfig.xml"); sqlMapClient = SqlMapClientBuilder.buildSqlMapClient(reader); reader.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { if (reader != null) { try { reader.close(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } } return sqlMapClient; } }