程序清单一览
bean类
package com.software.usermanager.bean;
public class Users {
private String id;
private String name;
private String age;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
}
dao类
package com.software.usermanager.dao;
import com.software.usermanager.bean.Users;
import com.software.usermanager.util.PageModel;
import java.util.List;
public interface UsersDAO {
public boolean insert(Users user); //增
public boolean delete(String id); //单条删除
public boolean delete(String[] userIds); //批量删除
public boolean update(Users user); //修改
public List query(); //全部查询
public Users query(String id); //单记录查询
public PageModel query(int pageNo, int pageSize); //分页查询
public PageModel query(int pageNo, int pageSize,String condition); //分页模糊查询
public boolean Login(String name,String password); //登录
}
daoimpl类
package com.software.usermanager.dao;
import com.software.usermanager.util.OptTemplate;
import java.sql.ResultSet;
import java.util.List;
import com.software.usermanager.bean.Users;
import com.software.usermanager.util.*;
public class UsersDAOImpl implements UsersDAO {
private OptTemplate optTemplate = null;
public UsersDAOImpl(OptTemplate optTemplate) {
super();
this.optTemplate = optTemplate;
}
public boolean Login(String name, String password) {
// TODO Auto-generated method stub
return false;
}
public boolean delete(String id) {
String sql = "delete from users where id=?";
Object[] obj = { id };
return optTemplate.update(sql, obj, false);
}
public boolean delete(String[] userIds) {
StringBuffer sbStr = new StringBuffer();
Object[] obj = userIds;
;
for (int i = 0; i < userIds.length; i++) {
sbStr.append("?,");
}
String sql = "delete from users where id in("
+ sbStr.substring(0, sbStr.length() - 1) + ")";
return optTemplate.update(sql, obj, false);
}
public boolean insert(Users user) {
String sql = "insert into users(id,name,age) values(?,?,?)";
Object[] obj = {user.getId(),user.getName(),user.getAge()};
return optTemplate.update(sql, obj, false);
}
@SuppressWarnings("unchecked")
public List query() {
String sql = "select * from users";
Object[] obj = {};
return (List) optTemplate.query(sql, obj, new UsersDAOObjectMapper());
}
public Users query(String id) {
String sql = "select * from users";
Object[] obj = {};
return (Users) optTemplate.query(sql, obj, new UsersDAOObjectMapper()).get(0);
}
public PageModel query(int pageNo, int pageSize) {
String sql1 = "select * from users";
Object[] obj1 = {};
List list1 = (List) optTemplate.query(sql1, obj1,
new UsersDAOObjectMapper());
int i = list1.size();
String sql="select * from (select j.*,rownum rn from (select * from users) j where rownum<=?) where rn>?";
Object[] obj = {pageNo * pageSize, (pageNo - 1) * pageSize};
List list = (List) optTemplate.query(sql, obj,
new UsersDAOObjectMapper());
PageModel pagemodel = new PageModel();
pagemodel.setPageNo(pageNo);
pagemodel.setPageSize(pageSize);
pagemodel.setList(list);
pagemodel.setTotalRecords(i);
return pagemodel;
}
public PageModel query(int pageNo, int pageSize, String condition) {
String sql1 = "select * from users";
Object[] obj1 = {};
List list1 = (List) optTemplate.query(sql1, obj1,
new UsersDAOObjectMapper());
int i = list1.size();
String sql="select * from (select j.*,rownum rn from (select * from users where id like '"+condition+"%' or name like '"+condition+"%') j where rownum<=?) where rn>?";
Object[] obj = {pageNo * pageSize, (pageNo - 1) * pageSize};
List list = (List) optTemplate.query(sql, obj,
new UsersDAOObjectMapper());
PageModel pagemodel = new PageModel();
pagemodel.setPageNo(pageNo);
pagemodel.setPageSize(pageSize);
pagemodel.setList(list);
pagemodel.setTotalRecords(i);
return pagemodel;
}
public boolean update(Users user) {
String sql = "update users set name=?,age=? where id=?";
Object[] obj = {user.getName(),user.getAge(),user.getId()};
return optTemplate.update(sql, obj, false);
}
}
class UsersDAOObjectMapper implements ObjectMapper{
public Object mapping(ResultSet rs){
Users u=new Users();
try{
u.setId(rs.getString("id"));
u.setName(rs.getString("age"));
u.setName(rs.getString("name"));
}catch(Exception ex){
ex.printStackTrace();
}
return u;
}
}
util类
package com.software.usermanager.util;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import com.software.usermanager.db.DBConnection;
public class OptTemplate {
public Object find(String sql,Object[] obj,ObjectMapper mapper){
Object o=null;
Connection conn=null;
PreparedStatement pstmt=null;
try{
conn=DBConnection.getConn();
pstmt=conn.prepareStatement(sql);
for(int i=0;i query(String sql,Object[] obj,ObjectMapper mapper){
Object o=null;
List
package com.software.usermanager.util;
import java.sql.ResultSet;
public interface ObjectMapper {
public Object mapping(ResultSet rs);
}
分页封装类
package com.software.usermanager.util;
import java.util.List;
public class PageModel {
//结果集
private List list;
//记录数
private int totalRecords;
//每页多少条数据
private int pageSize;
//第几页
private int pageNo;
/**
* 返回总页数
* @return
*/
public int getTotalPages() {
return (totalRecords + pageSize - 1) / pageSize;
}
/**
* 首页
* @return
*/
public int getTopPageNo() {
return 1;
}
/**
* 上一页
* @return
*/
public int getPreviousPageNo() {
if (this.pageNo <= 1) {
return 1;
}
return this.pageNo - 1;
}
/**
* 下一页
* @return
*/
public int getNextPageNo() {
if (this.pageNo >= getButtomPageNo()) {
return getButtomPageNo();
}
return this.pageNo + 1;
}
/**
* 尾页
* @return
*/
public int getButtomPageNo() {
return getTotalPages();
}
public List getList() {
return list;
}
public void setList(List list) {
this.list = list;
}
public int getTotalRecords() {
return totalRecords;
}
public void setTotalRecords(int totalRecords) {
this.totalRecords = totalRecords;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public int getPageNo() {
return pageNo;
}
public void setPageNo(int pageNo) {
this.pageNo = pageNo;
}
}
数据库配置文件dbconf.properties
#oracle连接实例
driverClass = oracle.jdbc.driver.OracleDriver
url = jdbc:oracle:thin:@192.168.137.23:1521:orcl
username = 用户名
password = 密码
数据库封装类
package com.software.usermanager.db;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
public class DBConnection {
private static Connection conn = null;
private static Properties props = null;
static {
props = new Properties();
try {
props.load(DBConnection.class.getResourceAsStream("/dbconf.properties"));
} catch (IOException e1) {
e1.printStackTrace();
}
try {
Class.forName(props.getProperty("driverClass"));
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
public static Connection getConn(){
try {
conn = DriverManager.getConnection(props.getProperty("url"), props.getProperty("username"), props.getProperty("password"));
conn.setAutoCommit(false);
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
public void closeConn(){
try {
if (conn != null)
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
junit测试类
package com.software.usermanager.test;
import java.util.List;
import com.software.usermanager.bean.Users;
import org.apache.tomcat.jni.User;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import com.software.usermanager.dao.UsersDAO;
import com.software.usermanager.dao.UsersDAOImpl;
import com.software.usermanager.db.DBConnection;
import com.software.usermanager.util.OptTemplate;
import com.software.usermanager.util.PageModel;
public class UserTest {
DBConnection dbConn = null;
@Before
public void setUp() {
dbConn = new DBConnection();
}
@After
public void tearDown() {
dbConn.closeConn();
}
/************测试插入记录***************/
// @Test
// public void testinsert() {
// UsersDAO usersdao = new UsersDAOImpl(new OptTemplate());
// for(int i=0;i<20;i++){
// Users u = new Users();
// u.setId(""+i);
// u.setName("郑六");
// u.setAge("2"+i);
// boolean b=usersdao.insert(u);
// if(b==false){
// System.out.println("插入失败");
// }else{
// System.out.println("插入成功");
// }}
//
//
// }
/************测试修改记录***************/
// @Test
// public void testupdate() {
// UsersDAO usersdao = new UsersDAOImpl(new OptTemplate());
// Users u = new Users();
// u.setId("5");
// u.setName("郑六");
// u.setAge("21");
// boolean b=usersdao.update(u);
// if(b==false){
// System.out.println("更新失败");
// }else{
// System.out.println("更新成功");
// }
//
//
// }
/************测试删除单条记录***************/
// @Test
// public void testdeleteById() {
// UsersDAO usersdao = new UsersDAOImpl(new OptTemplate());
// boolean b=usersdao.delete("2");
// if(b==false){
// System.out.println("删除失败");
// }else{
// System.out.println("删除成功");
// }
//
// }
/************测试批量删除记录***************/
//
// @Test
// public void testdeleteByArray() {
// UsersDAO usersdao = new UsersDAOImpl(new OptTemplate());
// String[] s={"3","4","5"};
// boolean b=usersdao.delete(s);
// if(b==false){
// System.out.println("删除失败");
// }else{
// System.out.println("删除成功");
// }
//
// }
/*********查询全部记录结果集为泛型 ************/
// @Test
// public void testqueryAll(){
// UsersDAO usersdao = new UsersDAOImpl(new OptTemplate());
// List list=usersdao.query();
// for(Users u:list){
// System.out.println(u.getId());
// }
// }
/*********查询单条记录结果集为对象 ************/
// @Test
// public void testqueryAll(){
// UsersDAO usersdao = new UsersDAOImpl(new OptTemplate());
// Users u=usersdao.query("7");
// System.out.println(u.getName());
//
// }
// /*********分页查询全部记录结果集为pagemodel************/
// @Test
// public void testqueryAll(){
// UsersDAO usersdao = new UsersDAOImpl(new OptTemplate());
// PageModel pml=usersdao.query(2,2);
// List list=pml.getList();
// for(Users u:list){
// System.out.println(u.getId());
// }
// }
/*********分页模糊查询全部记录结果集为pagemodel************/
@Test
public void testqueryAll(){
UsersDAO usersdao = new UsersDAOImpl(new OptTemplate());
PageModel pml=usersdao.query(1,2,"2");
List list=pml.getList();
for(Users u:list){
System.out.println(u.getId());
}
}
}
注意:以下代码非本程序必须代码,仅供自己笔记之用
Filter
package com.software.usermanager.filter;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class FilterEncoding implements Filter {
private String encoding = "utf-8";
public void destroy() {
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain arg2) throws IOException, ServletException {
request.setCharacterEncoding(encoding);
response.setCharacterEncoding(encoding);
arg2.doFilter(request, response);
}
public void init(FilterConfig arg0) throws ServletException {
encoding = arg0.getInitParameter("encoding");
}
}
Listener
package com.software.usermanager.listener;
import java.util.Date;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
public class Listener implements ServletContextListener
{
public void contextDestroyed(ServletContextEvent event)
{
// 销毁记录
}
public void contextInitialized(ServletContextEvent event)
{
// 记录登录信息
Date date = new Date();
event.getServletContext().log(date.toString());
}
}
web.xml配置文件
xkxt
index.jsp
Encoding
com.software.usermanager.FilterEncoding
encoding
UTF-8
Encoding
/*
com.software.usermanager.Listener
xkxt
com.software.usermanager.XKXTServlet
xkxt
/action
querydqm
com.software.usermanager.DQMServlet
querydqm
/action