工具类开发应用

java 有太多的需要整理的工具类,只要整理修整下可就可以完整开发,下面是JDBC,Hibernate,Hibernate Annotation,spring,javascript异步传输,JOIN异步传输工具开发。
JDBCTool

package util;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class DBTools {
static{
try{
Class.forName("oracle.jdbc.driver.OracleDriver");// mysql : "com.mysql.jdbc.Driver" 驱动名称
}catch(ClassNotFoundException e){
e.printStackTrace();
}
}

public static Connection getConn(){

String url ="jdbc:oracle:thin:@localhost:1521:XE"; //mysql : "jdbc:mysql://127.0.0.1/xxx" xxx指的是库名称
String dbname="hr";
String dbpwd="hr";
Connection conn = null;
try{
conn = DriverManager.getConnection(url,dbname,dbpwd);
}catch(SQLException e){
e.printStackTrace();
}
return conn;
}


public static void close(ResultSet rs,Statement stmt,Connection conn){
try{
if(rs != null){
rs.close();
rs = null;
}
if(stmt != null){
stmt.close();
stmt = null;
}
if(conn != null){
conn.close();
conn = null;
}

}catch(SQLException e){
e.printStackTrace();
}
}
}

测试

package test;

import java.util.Date;

public class Emp {
private int empno;
private String ename;
private String job;
private int mgr;
private Date hiredate;
private int sal;
private int comm;
private int deptno;
public int getEmpno() {
return empno;
}
public void setEmpno(int empno) {
this.empno = empno;
}
public String getEname() {
return ename;
}
public void setEname(String ename) {
this.ename = ename;
}
public String getJob() {
return job;
}
public void setJob(String job) {
this.job = job;
}
public int getMgr() {
return mgr;
}
public void setMgr(int mgr) {
this.mgr = mgr;
}
public Date getHiredate() {
return hiredate;
}
public void setHiredate(Date hiredate) {
this.hiredate = hiredate;
}
public int getSal() {
return sal;
}
public void setSal(int sal) {
this.sal = sal;
}
public int getComm() {
return comm;
}
public void setComm(int comm) {
this.comm = comm;
}
public int getDeptno() {
return deptno;
}
public void setDeptno(int deptno) {
this.deptno = deptno;
}
}


package test;

import java.util.List;

/**
* @author Administrator
*
*/
public interface EmpDAO {
public void addEmp(Emp emp);
public void delEmp(int empno);
public void udpateEmp(Emp emp);
public Emp findEmpById(int empno);
public List<Emp> findEmps();
}


package test;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import util.DBTools;

public class EmpDAOImpl implements EmpDAO {

public void addEmp(Emp emp) {
String sql = "insert into emp values(?,?,?,?,?,?,?,?)";
Connection conn = null;
PreparedStatement stmt = null;

try{
conn = DBTools.getConn();
stmt = conn.prepareStatement(sql);
stmt.setInt(1,emp.getEmpno());
stmt.setString(2,emp.getEname());
stmt.setString(3,emp.getJob());
stmt.setInt(4,emp.getMgr());
stmt.setDate(5,new java.sql.Date(emp.getHiredate().getTime()));
stmt.setInt(6,emp.getSal());
stmt.setInt(7,emp.getComm());
stmt.setInt(8,emp.getDeptno());
int temp = stmt.executeUpdate();
if(temp != 0){
System.out.println("添加成功!");
}
}catch(SQLException e){
e.printStackTrace();
}finally{
DBTools.close(null,stmt,conn);
}


}

public void delEmp(int empno) {
String sql = "delete emp where empno=?";
Connection conn = null;
PreparedStatement stmt = null;

try{
conn = DBTools.getConn();
stmt = conn.prepareStatement(sql);
stmt.setInt(1,empno);

int temp = stmt.executeUpdate();
if(temp != 0){
System.out.println("删除成功!");
}
}catch(SQLException e){
e.printStackTrace();
}finally{
DBTools.close(null,stmt,conn);
}
}

public Emp findEmpById(int empno) {
String sql = "select * from emp where empno=?";
Connection conn = null;
PreparedStatement stmt = null;
ResultSet temp=null;
Emp emp=new Emp();
try{
conn = DBTools.getConn();
stmt = conn.prepareStatement(sql);
stmt.setInt(1,empno);

temp = stmt.executeQuery();
while(temp.next()){
emp.setEmpno(temp.getInt(1));
emp.setEname(temp.getString(2));
emp.setJob(temp.getString(3));
emp.setMgr(temp.getInt(4));
emp.setHiredate(temp.getDate(5));
emp.setSal(temp.getInt(6));
emp.setComm(temp.getInt(7));
emp.setDeptno(temp.getInt(8));
}

}catch(SQLException e){
e.printStackTrace();
}finally{
DBTools.close(temp,stmt,conn);
}
return emp;
}

public List<Emp> findEmps() {
String sql = "select * from emp";
Connection conn = null;
PreparedStatement stmt = null;
ResultSet temp=null;

List<Emp> list=new ArrayList<Emp>();
try{
conn = DBTools.getConn();
stmt = conn.prepareStatement(sql);

temp = stmt.executeQuery();
while(temp.next()){
Emp emp=new Emp();
emp.setEmpno(temp.getInt(1));
emp.setEname(temp.getString(2));
emp.setJob(temp.getString(3));
emp.setMgr(temp.getInt(4));
emp.setHiredate(temp.getDate(5));
emp.setSal(temp.getInt(6));
emp.setComm(temp.getInt(7));
emp.setDeptno(temp.getInt(8));
list.add(emp);
}
}catch(SQLException e){
e.printStackTrace();
}finally{
DBTools.close(temp,stmt,conn);
}
return list;
}

public void udpateEmp(Emp emp) {
//String sql = "update emp set ename=?,job=?,mgr=?,hiredate=?,sal=?,comm=?,deptno=? where empno=?";
String sql = "update emp set ename=?,job=?,mgr=?,hiredate=?,sal=?,comm=?,deptno=? where empno=?";
Connection conn = null;
PreparedStatement stmt = null;

try{
conn = DBTools.getConn();
stmt = conn.prepareStatement(sql);
stmt.setString(1,emp.getEname());
stmt.setString(2,emp.getJob());
stmt.setInt(3,emp.getMgr());
stmt.setDate(4,new java.sql.Date(emp.getHiredate().getTime()));
stmt.setInt(5,emp.getSal());
stmt.setInt(6,emp.getComm());
stmt.setInt(7,emp.getDeptno());
stmt.setInt(8,emp.getEmpno());

int temp = stmt.executeUpdate();
if(temp != 0){
System.out.println("修改成功!");
}
}catch(SQLException e){
e.printStackTrace();
}finally{
DBTools.close(null,stmt,conn);
}
}

public static void main(String[] args){
//===========================
//Emp emp = new Emp();
//emp.setComm(10);
//emp.setDeptno(10);
//emp.setEmpno(7839);
//emp.setEname("kaka");
//emp.setHiredate(new Date());
//emp.setJob("clark");
//emp.setMgr(101);
//emp.setSal(1000);
//EmpDAOImpl st = new EmpDAOImpl();
//st.addEmp(emp);
//==========================
//EmpDAOImpl st = new EmpDAOImpl();
//st.delEmp(emp.getEmpno());
//===========================
//EmpDAOImpl st = new EmpDAOImpl();
//Emp emp= st.findEmpById(7499);
//System.out.println("员工编号:"+emp.getEmpno()+" 员工姓名:"+emp.getEname()
// +" 职位:"+emp.getJob()+" 管理者编号:"+emp.getMgr()+" 入职时间:"+
// emp.getHiredate()+" 工资:"+emp.getSal()+" 奖金"+emp.getComm()+" 部门编号:"+emp.getDeptno());
//=============================
//EmpDAOImpl st = new EmpDAOImpl();
//List<Emp> list= st.findEmps();
//for(Emp e:list){
//System.out.println(e.getEmpno()+" "+e.getEname()+" "+e.getJob()
// +" "+e.getMgr()+" "+e.getHiredate()+" "+e.getSal()
// +" "+e.getComm()+" "+e.getDeptno());
// }
//==========================
Emp emp = new Emp();
emp.setEmpno(7839);
emp.setEname("kaka");
emp.setJob("clark");
emp.setMgr(101);
emp.setHiredate(new Date());
emp.setSal(1000);
emp.setComm(100);
emp.setDeptno(10);


EmpDAOImpl st = new EmpDAOImpl();
st.udpateEmp(emp);

}
}

HibernateUtil

package cn.util;

import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

public class HibernateUtil {
private static Configuration config = null;
private static SessionFactory factory = null;

static {
// 由于config加载hibernate.cfg.xml
// 解析,时间长..
// static
try {
config = new Configuration().configure();
factory = config.buildSessionFactory();
} catch (HibernateException e) {

e.printStackTrace();
}
}

public static SessionFactory getFactory() {
return factory;

}

public static Session getSession() {
return factory.openSession();
}

public static void close(Session session) {
if (session != null) {
session.close();
}
}

public static void close(SessionFactory sf) {
if (sf != null) {
sf.close();
}
}
}


package cn.java;

public class User {
private int id;
private String name;
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 int getAge() {
return age;
}

public void setAge(int age) {
this.age = age;
}

}


<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping
package="cn.java">
<class name="User" table="t_user">
<id name="id">
<generator class="native"/>
</id>
<property name="name"/>
<property name="age"/>
</class>
</hibernate-mapping>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.url">
jdbc:mysql://127.0.0.1/test
</property>
<property name="hibernate.connection.driver_class">
com.mysql.jdbc.Driver
</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">root</property>
<property name="dialect">
org.hibernate.dialect.MySQLDialect
</property>
<property name="hibernate.hbm2ddl.auto">update</property>


<mapping resource="cn/java/User.hbm.xml" />

</session-factory>
</hibernate-configuration>


package test;

import junit.framework.TestCase;

import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;

import cn.java.User;
import cn.util.HibernateUtil;

public class TestUser extends TestCase {

// 这里多个方法来测试;
// 必须要示是小test开头
// 参数必须空
public void testhibernate() {

Configuration config = null;
SessionFactory factory = null;
Session session = null;
Transaction tx = null;

try {
// 第一步:加载配置文件;
// 把hibernate.cfg.xml文件加载到内存;
// 并且解析,,
// 这个时候hiberante
// 知道,你的数据库是哪种,pas,name,url
config = new Configuration().configure();
// =======
// 第二步创建一个sessionfactory工厂
//
// session 最重对象
// factory 工厂
factory = config.buildSessionFactory();
// 第三步创建session
// session类似 jdbc 中的 connection
// save
// get
// del
// update
// find
session = factory.openSession();
// 打开事务
// 事务:多条不可分隔的sql语句;;
// 以前jdbc;
// 默认自动提交...
// hibernate 必须手动提交
tx = session.beginTransaction();
for (int i = 0; i < 5; i++) {
User user = new User();
user.setAge(13);
user.setName("jerry"+i);
// 这一句就可以将对象保存到数据库
session.save(user);
}
tx.commit();
} catch (HibernateException e) {
e.printStackTrace();
tx.rollback();
} finally {
if (session != null) {
session.close();
}
if (factory != null) {
factory.close();
}

}

}

public void testHibernate21() {
Session session = null;
//Transaction tx = null;
try {
//session = HibernateUtil.getSession();
//tx = session.beginTransaction();
session = HibernateUtil.getSession();
session.beginTransaction();
User user = new User();
user.setAge(19);
user.setName("kaka");
session.save(user);
session.getTransaction().commit();
//tx.commit();
} catch (HibernateException e) {
e.printStackTrace();
tx.rollback();
} finally {
HibernateUtil.close(session);

}

}
}

hibernate Annotation开发

package cn.Util;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;

public class HibernatAannotationUtil {
private final static SessionFactory sessionFactory;

static {
try {
sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();
} catch (Throwable e) {
throw new ExceptionInInitializerError(e);
}
}

public static Session getSession() {
return sessionFactory.openSession();
}

public static void close(Session session) {
if (session != null) {
session.close();
}
}

}

spring 工具类

package cn.java;

public class Room {
private int id;
private String name;

public Room() {
System.out.println("我是room 构造方法");
}
public Room(int id){
this.id = id;
}
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;
}

}


package cn.java;

public class User {
private int id;
private String name;
private Room room;

public User() {
}

public Room getRoom() {
return room;
}

public void setRoom(Room room) {
this.room = room;
}

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;
}

}


<?xml version="1.0" encoding="UTF-8"?>

<!--
- Application context definition for JPetStore's business layer.
- Contains bean references to the transaction manager and to the DAOs in
- dataAccessContext-local/jta.xml (see web.xml's "contextConfigLocation").
-->
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-

2.5.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">

<bean id="u1" class="cn.java.User">
<property name="id" value="1"/>
<property name="name" value="tom"/>
<property name="room">
<ref bean="room"/>
</property>
</bean>
<bean id="room" class="cn.java.Room" >
<property name="name" value="011" />
</bean>
</beans>


package cn.java;

import junit.framework.TestCase;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;

public class UserUtil extends TestCase{
public void test(){

//我们以前spring;
//手工,创建;;
//User u = new User();
//u.setId(1);
//u.setName("tom");
//User u1 = new User();

//=========================
//spring 帮助创对象../
//直接从spring取;
//想User 放在spring创建对象;;;
//spring
//applicatoinContext.xml

//php 1 3
//java 1 3
//ClassPathXmlApplicationContext(); class根目
//FileSystemXmlApplicationContext("c://applicationContext.xml");
//WebApplicationContextUtils;


ApplicationContext ctx = null;
//ClassPathXmlApplicationContext
//第一加载 xml;
//所有配置类,创建对象;;

ctx = new ClassPathXmlApplicationContext("applicationContext.xml");

User u1 = (User)ctx.getBean("u1");
//User u2 = (User)ctx.getBean("u1");

//System.out.println(u1 == u2);
//System.out.println(u1.getId()+u1.getName());
System.out.println(u1.getRoom().getName());
}
}

异步传输

function createXMLHttpRequest() {
var objXMLHttp = null;
//对于Mozilla、Firefox、Opera等浏览器
try {
objXMLHttp = new XMLHttpRequest();
}
//对于Internet Explorer浏览器
catch (e) {
var MSXML = [ 'MSXML2.XMLHTTP.6.0', 'MSXML2.XMLHTTP.5.0',
'MSXML2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0',
'MSXML2.XMLHTTP', 'Microsoft.XMLHTTP' ];
for ( var n = 0; n < MSXML.length; n++) {
try {
//创建XMLHttpRequest对象
objXMLHttp = new ActiveXObject(MSXML[n]);
break;
} catch (e) {
}
}
}
return objXMLHttp;
}

//xml.open("get", "checkUser.jsp?name=" + username,true);
function checkUser(user) {
var username = user.value;
var xml = createXMLHttpRequest();
xml.open("post", "checkUser.jsp",true);
xml.setRequestHeader("Content-Type"
, "application/x-www-form-urlencoded");
xml.onreadystatechange = function() {
//alert("readyState:"+xml.readyState+"\t\r"+"status:"+xml.status);
if (xml.readyState == 4) {
if (xml.status == 200 || xml.status == 304) {
alert(xml.responseText);
}
}
}
xml.send("name="+username);
}


//使用literal语法定义一个对象:XMLHttp
var XMLHttp =
{
//定义第一个属性,该属性用于缓存XMLHttpRequest对象的数组
XMLHttpRequestPool: [],
//对象的第一个方法,该方法用于返回一个XMLHttpRequest对象
getInstance:function()
{
// 从XMLHttpRequest对象池中取出一个空闲的XMLHttpRequest
for (var i = 0; i < this.XMLHttpRequestPool.length; i ++)
{
//如果XMLHttpReuqest的readyState为0,或者为4,
//都表示当前的XMLHttpRequest对象为闲置的对象
if (this.XMLHttpRequestPool[i].readyState == 0 ||
this.XMLHttpRequestPool[i].readyState == 4)
{
return this.XMLHttpRequestPool[i];
}
}
//如果没有空闲的,将再次创建一个新的XMLHttpRequest对象
this.XMLHttpRequestPool[this.XMLHttpRequestPool.length]
= this.createXMLHttpRequest();
//返回刚刚创建的XMLHttpRequest对象
return this.XMLHttpRequestPool[this.XMLHttpRequestPool.length - 1];
},
//创建新的XMLHttpRequest对象
createXMLHttpRequest:function()
{
//对于DOM 2 规范的浏览器
if (window.XMLHttpRequest)
{
var objXMLHttp = new XMLHttpRequest();
}
//对于Internet Explorer浏览器
else
{
//将Internet Explorer内置的所有XMLHTTP ActiveX控制设置成数组
var MSXML = ['MSXML2.XMLHTTP.5.0', 'MSXML2.XMLHTTP.4.0',
'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP', 'Microsoft.XMLHTTP'];
//依次对Internet Explorer内置的XMLHTTP控件初始化,尝试创建XMLHttpRequest对象
for(var n = 0; n < MSXML.length; n ++)
{
try
{
//如果可以正常创建XMLHttpRequest对象,使用break跳出循环
var objXMLHttp = new ActiveXObject(MSXML[n]);
break;
}
catch(e)
{
}
}
}
//Mozilla某些版本没有readyState属性
if (objXMLHttp.readyState == null)
{
//直接设置其readyState为0
objXMLHttp.readyState = 0;
//对于哪些没有readyState属性的浏览器,将load动作与下面的函数关联起来
objXMLHttp.addEventListener("load", function ()
{
//当从服务器加载数据完成后,将readyState状态设为4
objXMLHttp.readyState = 4;
if (typeof objXMLHttp.onreadystatechange == "function")
{
objXMLHttp.onreadystatechange();
}
}, false);
}
return objXMLHttp;
},
//定义对象的第三个方法: 发送请求(方法[POST,GET], 地址, 数据, 回调函数)
sendRequest: function (method, url, data, callback)
{
var objXMLHttp = this.getInstance();
with(objXMLHttp)
{
try
{
//增加一个额外的randnum请求参数,用于防止IE缓存服务器响应
if (url.indexOf("?") > 0)
{
url += "&randnum=" + Math.random();
}
else
{
url += "?randnum=" + Math.random();
}
//打开与服务器的连接
open(method, url, true);
//对于使用POST请求方式
if (method == "POST")
{
// 设定请求头
setRequestHeader('Content-Type',
'application/x-www-form-urlencoded');
send(data);
}
//对于采用GET请求
if (method == "GET")
{
send(null);
}
//设置状态改变的回调函数
onreadystatechange = function ()
{
//当服务器的相应完成时,以及获得了正常的服务器响应
if (objXMLHttp.readyState == 4 &&
(objXMLHttp.status == 200 ||
objXMLHttp.status == 304))
{
//当响应时机成熟时,调用回调函数处理响应
callback(objXMLHttp);
}
}
}
catch(e)
{
alert(e);
}
}
}
};
//相接发送请求
XMLHttp.sendRequest("Post",url,data,callback);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值