0
点赞
收藏
分享

微信扫一扫

ibatis实现增删改查


初学ibatis,实现了一个增删改查的例子:

 

database.properties:
 
driverClassName=com.mysql.jdbc.Driver
url=jdbc\:mysql\://localhost\:3306/test
username=root
password=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" resultClass="User">
             select * from user
       </select>
       
       <select id="findUserById" resultClass="User" parameterClass="int">
       		select * from user where id = #value#
       </select>
       
        <insert id="addUser" parameterClass="com.cz.model.User">
       		insert into user(id,name,age,email) values(#id#,#name#,#age#,#email#)
       </insert>
       
        <update id="updateUser" parameterClass="com.cz.model.User">
	   		update user set name = #name# where id=#id#
	   </update>
	   
	   <delete id="deleteUser" parameterClass="int">
	   		delete from user where id = #value#
	   </delete>

</sqlMap>

IUserDao.java

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 block
			e.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 block
			e.printStackTrace();
		}		
		return user;
	}
	//添加新用户
	public void AddUser(User user) {
		// TODO Auto-generated method stub
		try {
			sqlMap.insert("addUser", user);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	//修改用户信息
	public int UpdateUser(User user) {
		// TODO Auto-generated method stub
		int a=0;
		try {
			a=sqlMap.update("updateUser",user);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return a;
	}

	//删除用户
	public void DeleteUserById(int id) {
		// TODO Auto-generated method stub
		try {
			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);
	}

}

 

下面上传项目需要的两个包:

 

举报

相关推荐

0 条评论