ibatis实现增删改查
初学ibatis,实现了一个增删改查的例子:
?
database.properties:
driverClassName=com.mysql.jdbc.Driverurl=jdbc\:mysql\://localhost\:3306/testusername=rootpassword=root
?
SqlMapConfig.xml:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE sqlMapConfig PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-config-2.dtd"><sqlMapConfig><properties resource="database.properties"/><transactionManager type="JDBC"><dataSource type="SIMPLE"><property name="JDBC.Driver" value="${driverClassName}"/><property name="JDBC.ConnectionURL" value="${url}"/><property name="JDBC.Username" value="${username}"/><property name="JDBC.Password" value="${password}"/></dataSource></transactionManager> <sqlMap resource="com/cz/model/User.xml" /></sqlMapConfig>?
User.java
package com.cz.model;public class User {private int id;private String name;private String email;private int age;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 getEmail() {return email;}public void setEmail(String email) {this.email = email;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}}?
User.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> <typeAlias alias="User" type="com.cz.model.User" /> <select id="findAll" resultresultparameterparameterparameterparametername="code">package com.cz.dao;import java.util.List;import com.cz.model.User;public interface IUserDao {//查询用户集合public List<User> QueryUserList();//根据id查询用户public User QueryUserById(int id);//添加新用户public void AddUser(User user);//修改用户信息public int UpdateUser(User user);//删除用户public void DeleteUserById(int id);}?
UserDaoImpl:
package com.cz.dao;import java.io.*;import java.sql.SQLException;import java.util.List;import com.cz.model.User;import com.ibatis.common.resources.Resources;import com.ibatis.sqlmap.client.SqlMapClient;import com.ibatis.sqlmap.client.SqlMapClientBuilder;public class UserDaoImpl implements IUserDao{private static SqlMapClient sqlMap;static{try {Reader reader = Resources.getResourceAsReader("SqlMapConfig.xml");sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);reader.close();} catch (IOException e) {e.printStackTrace();}}//查询用户集合public List<User> QueryUserList() {List<User> userList = null; try { userList = sqlMap.queryForList("findAll");} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return userList;}//根据id查询用户public User QueryUserById(int id) {User user=null;try {user=(User) sqlMap.queryForObject("findUserById", id);} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return user;}//添加新用户public void AddUser(User user) {// TODO Auto-generated method stubtry {sqlMap.insert("addUser", user);} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}//修改用户信息public int UpdateUser(User user) {// TODO Auto-generated method stubint a=0;try {a=sqlMap.update("updateUser",user);} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return a;}//删除用户public void DeleteUserById(int id) {// TODO Auto-generated method stubtry {sqlMap.delete("deleteUser", id);} catch (SQLException e) {e.printStackTrace();}} }?
Test.java:
package com.cz.test;import java.util.List;import com.cz.dao.IUserDao;import com.cz.dao.UserDaoImpl;import com.cz.model.User;public class Test {public static void main(String[] args) {IUserDao userdao=new UserDaoImpl();//查询用户集合List<User> userList=userdao.QueryUserList();for(User user:userList){System.out.println(user.getId()+" "+user.getName()+" "+user.getAge()+" "+user.getEmail());}////根据id查询用户//User user=new User();//user=userdao.QueryUserById(2);//System.out.println(user.getId()+" "+user.getName()+" "+user.getAge()+" "+user.getEmail());////添加新用户//User user=new User();//user.setId(3);//user.setName("张三");//user.setAge(30);//user.setEmail("zs@sina.com");//userdao.AddUser(user);////修改用户信息//User user=new User();//user.setId(1);//user.setName("哈哈");//System.out.println(userdao.UpdateUser(user));////删除用户//userdao.DeleteUserById(1);}}?
?
下面上传项目需要的两个包:
?
1 楼 richie144 2012-11-07 你这是ibatis的操作,现在都升级到mybatis了,用mybatis吧,功能更强大,而且支持annotation 2 楼 zhangpeili 2012-11-07 原理都一样!学会那个都一样 就是配置有点差别 3 楼 chenzheng8975 2012-11-08 richie144 写道你这是ibatis的操作,现在都升级到mybatis了,用mybatis吧,功能更强大,而且支持annotation多谢指教!