http://www.verejava.com/?id=17046165084286
1. 安装见 VereORM 之 入门安装
2.在 test/src 中新建一个DAO 接口 com.test.dao.UserDAO
package com.test.dao;
import java.util.List;
import com.test.entity.User;
public interface UserDAO {
public boolean add(User user);
public boolean deleteById(int id);
public boolean update(User user);
public User findById(int id);
public List<User> find();
public List<User> find(User searchItem,int pageId,int pageSize); //分页查询
}
3.在 test/src 中新建一个DAO 实现类 com.test.dao.impl.UserDAOImpl
package com.test.dao.impl;
import java.util.ArrayList;
import java.util.List;
import com.test.dao.UserDAO;
import com.test.entity.User;
import com.vere.orm.db.Session;
import com.vere.orm.db.SessionManager;
public class UserDAOImpl implements UserDAO{
private SessionManager sessionManager;
public UserDAOImpl()
{
sessionManager=new SessionManager();
}
@Override
public boolean add(User user) {
Session session= sessionManager.openSesstion(); //打开一个session
try
{
return session.save(user);
}catch(Exception e)
{
e.printStackTrace();
}
finally
{
if(session!=null)
{
session.close();//关闭session
}
}
return false;
}
@Override
public boolean deleteById(int id) {
Session session= sessionManager.openSesstion(); //打开一个session
try
{
User user=new User();
user.setId(id);
return session.delete(user);
}catch(Exception e)
{
e.printStackTrace();
}
finally
{
if(session!=null)
{
session.close();//关闭session
}
}
return false;
}
@Override
public boolean update(User user) {
Session session= sessionManager.openSesstion(); //打开一个session
try
{
return session.update(user);
}catch(Exception e)
{
e.printStackTrace();
}
finally
{
if(session!=null)
{
session.close();//关闭session
}
}
return false;
}
@Override
public User findById(int id) {
Session session= sessionManager.openSesstion(); //打开一个session
User user=null;
try
{
Object obj=session.findOne(User.class, "select * from user where id=?" ,new Object[]{id});
//obj=session.findOne(User.class, "select * from user where id="+id);
if(obj!=null)
{
user=(User)obj;
}
}catch(Exception e)
{
e.printStackTrace();
}
finally
{
if(session!=null)
{
session.close();//关闭session
}
}
return user;
}
@Override
public List<User> find() {
Session session= sessionManager.openSesstion(); //打开一个session
List<User> userList=new ArrayList<User>();
try
{
List list=session.find(User.class, "select * from user");
if(list!=null)
{
for(int i=0;i<list.size();i++)
{
User user=(User)list.get(i);
userList.add(user);
}
}
}catch(Exception e)
{
e.printStackTrace();
}
finally
{
if(session!=null)
{
session.close();//关闭session
}
}
return userList;
}
@Override
public List<User> find(User searchItem, int pageId, int pageSize) {
Session session= sessionManager.openSesstion(); //打开一个session
List<User> userList=new ArrayList<User>();
try
{
boolean b=false;
StringBuffer where=new StringBuffer();
String fvalue=null;
fvalue=Integer.toString(searchItem.getAge());
if(fvalue!=null &&!fvalue.equals("0"))
{
if(b) where.append(" and");
where.append(" age ="+fvalue);
b=true;
}
fvalue=searchItem.getName();
if(fvalue!=null && fvalue.length()>0)
{
if(b) where.append(" and");
where.append(" name ='"+fvalue+"'");
b=true;
}
if(!where.toString().equals(""))
where.insert(0," where ");
String sql="select * from user "+where.toString()+" limit "+(pageId-1)*pageSize+","+pageSize ;
List list=session.find(User.class, sql);
if(list!=null)
{
for(int i=0;i<list.size();i++)
{
User user=(User)list.get(i);
userList.add(user);
}
}
}catch(Exception e)
{
e.printStackTrace();
}
finally
{
if(session!=null)
{
session.close();//关闭session
}
}
return userList;
}
}
4.在 test/src/VereORM.xml 配置 com.test.dao.impl.UserDAOImpl
<?xml version="1.0" encoding="UTF-8"?>
<VereORM>
<dataSource class="com.vere.orm.db.pool.PooledConnection">
<property name="dbType" value="mysql" />
<property name="dbDriver" value="com.mysql.jdbc.Driver" />
<property name="dbDatabase" value="test" />
<property name="dbUsername" value="root" />
<property name="dbPassword" value="19810109" />
<property name="dbUrl" value="jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8" />
<property name="idleSize" value="5" />
<property name="maxSize" value="10" />
<property name="waitTime" value="15000" />
<property name="checkTime" value="15000" />
</dataSource>
<bean id="userDAO" class="com.test.dao.impl.UserDAOImpl" />
<mapping>
<class name="com.test.entity.User" table="user">
<id name="id" column="id" generator="assign" /> <!-- 表的主键 id 1.assign 手动设置 2.auto_increment 数据库自动增加 -->
</class>
</mapping>
</VereORM>
5.在 test/src 新建测试类 com.test.orm.Test5
package com.test.orm;
import java.util.Calendar;
import java.util.List;
import com.test.dao.UserDAO;
import com.test.dao.impl.UserDAOImpl;
import com.test.entity.User;
import com.vere.orm.util.CBean;
public class Test5 {
public static void main(String[] args) {
testAdd();
testFindOne();
testUpdate();
testFind();
//testDelete();
//testFindPage();
}
public static void testAdd()
{
User user=new User();
user.setId(2);
user.setName("lijun");
user.setAge(30);
user.setSalary(20000);
user.setBirthday(Calendar.getInstance());
UserDAO userDAO=(UserDAO)CBean.getBean("userDAO");
userDAO.add(user);
}
public static void testFindOne()
{
UserDAO userDAO=(UserDAO)CBean.getBean("userDAO");
User user=userDAO.findById(2);
if(user!=null)
{
System.out.println(user.getId()+" | "+user.getName()+" | "+user.getAge()+" | "+user.getSalary());
}
}
public static void testUpdate()
{
User user=new User();
user.setId(2);
user.setName("lijun");
user.setAge(30);
user.setSalary(25000);
user.setBirthday(Calendar.getInstance());
UserDAO userDAO=(UserDAO)CBean.getBean("userDAO");
userDAO.update(user);
}
public static void testFind()
{
UserDAO userDAO=(UserDAO)CBean.getBean("userDAO");
List<User> list=userDAO.find();
if(list!=null)
{
for(int i=0;i<list.size();i++)
{
User user=(User)list.get(i);
System.out.println(user.getId()+" | "+user.getName()+" | "+user.getAge()+" | "+user.getSalary());
}
}
}
public static void testDelete()
{
UserDAO userDAO=(UserDAO)CBean.getBean("userDAO");
userDAO.deleteById(2);
}
public static void testFindPage()
{
int pageId=1;
int pageSize=1;
User searchItem=new User();
//searchItem.setName("huyang");
UserDAO userDAO=(UserDAO)CBean.getBean("userDAO");
List<User> list=userDAO.find(searchItem,pageId,pageSize);
if(list!=null)
{
for(int i=0;i<list.size();i++)
{
User user=(User)list.get(i);
System.out.println(user.getId()+" | "+user.getName()+" | "+user.getAge()+" | "+user.getSalary());
}
}
}
}