📄 gongwendao.java
字号:
package com.km.gongwen.data;
import net.sf.hibernate.*;
import net.sf.hibernate.cfg.*;
import com.km.util.*;
import java.util.*;
import java.sql.*;
/**
* 本类的作用是对公文数据表进行操作。
*/
public class GongwenDAO {
/**
* 新增公文
*/
public String createGongwen(Gongwen gongwen) {
Session session = null;
String id = "";
try {
SessionFactory sf = new Configuration().configure()
.buildSessionFactory();
session = sf.openSession();
Transaction tx = session.beginTransaction();
//新增记录
id = (String) session.save(gongwen);
tx.commit();
session.close();
}
catch (HibernateException e) {
sessionClose(session);
e.printStackTrace();
}
finally {
sessionClose(session);
}
return id;
}
/**
* 修改记录
*/
public void updateGongwen(Gongwen gongwen) {
String sqlStr = "";
Connection connection = null;
Statement statement = null;
ResultSet resultSet = null;
String accessories = gongwen.getAccessories();
if (accessories.equals(null)) {
accessories = "";
}
if (!accessories.equals("")) {
accessories = "1";
}
try {
sqlStr = "update gongwen " + "set title = '" + gongwen.getTitle()
+ "'" + ",content='"
+ gongwen.getContent() + "'" + ",sendid='"
+ gongwen.getSendid() + "'" + ",ownerid='"
+ gongwen.getOwnerid() + "'" + ",sendname='"
+ gongwen.getSendname() + "'" + ",senddate='"
+ gongwen.getSenddate() + "'" + ",isread='0'"
+ ",issend='0'";
if (!accessories.equals("")) {
sqlStr = sqlStr + ",accessories='" + accessories + "' ";
}
sqlStr = sqlStr + " where universalid = '"
+ gongwen.getUniversalid() + "'";
connection = com.db.ConnectionPool.getConnection();
connection.setAutoCommit(false);
statement = connection.createStatement();
statement.executeUpdate(sqlStr);
connection.commit();
}
catch (Exception e) {
e.printStackTrace();
}
finally {
connectionClose(connection, statement, resultSet);
}
}
/**
* 本方法是使用Hibernate更改公文
* */
public void updateGwbyHibernate(Gongwen gongwen) {
Session session = null;
try {
SessionFactory sf = new Configuration().configure()
.buildSessionFactory();
session = sf.openSession();
Transaction tx = session.beginTransaction();
//修改记录
session.update(gongwen);
tx.commit();
session.close();
}
catch (Exception e) {
sessionClose(session);
e.printStackTrace();
}
finally {
sessionClose(session);
}
}
/**
* 本方法是查询所有已经接受到的公文。
*/
public PageListData getAllgongwen(String ownerid, PageListData pageList) {
String sqlStr = "";
String addSql = " order by isread asc,senddate desc";
Connection connection = null;
Statement statement = null;
ResultSet resultSet = null;
try {
sqlStr = "select * from gongwen where ownerid = '" + ownerid + "'";
connection = com.db.ConnectionPool.getConnection();
statement = connection.createStatement();
PageQuery pageQuery = new PageQuery();
resultSet = pageQuery.sqlQueryPage(statement, sqlStr, addSql,
pageList);
for (int i = 0; i < pageList.getPageSize() && resultSet.next(); i++) {
Gongwen gongwen = new Gongwen();
gongwen.setUniversalid(resultSet.getString("universalid"));
gongwen.setOwnerid(resultSet.getString("ownerid"));
gongwen.setSendid(resultSet.getString("sendid"));
gongwen.setSendname(resultSet.getString("sendname"));
gongwen.setTitle(resultSet.getString("title"));
gongwen.setIsread(resultSet.getString("isread"));
gongwen.setSenddate(resultSet.getString("senddate"));
gongwen.setAccessories(resultSet.getString("accessories"));
pageList.addData(gongwen);
}
}
catch (Exception e) {
e.printStackTrace();
}
finally {
connectionClose(connection, statement, resultSet);
}
return pageList;
}
/**
* 按照条件查询公文记录
*/
public PageListData getSomegongwen(String ownerid, Gongwen gongwen0,
PageListData pageList) {
String sqlStr = "";
String addSql = " order by isread asc,senddate desc";
Connection connection = null;
Statement statement = null;
ResultSet resultSet = null;
try {
sqlStr = "select * from gongwen where ownerid = '" + ownerid + "'";
if (!gongwen0.getTitle().equals("")) {
sqlStr = sqlStr + " and title like'%" + gongwen0.getTitle()
+ "%'";
}
if (!gongwen0.getSendname().equals("")) {
sqlStr = sqlStr + " and sendname like '%"
+ gongwen0.getSendname() + "%'";
}
connection = com.db.ConnectionPool.getConnection();
statement = connection.createStatement();
PageQuery pageQuery = new PageQuery();
resultSet = pageQuery.sqlQueryPage(statement, sqlStr, addSql,
pageList);
for (int i = 0; i < pageList.getPageSize() && resultSet.next(); i++) {
Gongwen gongwen = new Gongwen();
gongwen.setUniversalid(resultSet.getString("universalid"));
gongwen.setOwnerid(resultSet.getString("ownerid"));
gongwen.setSendid(resultSet.getString("sendid"));
gongwen.setSendname(resultSet.getString("sendname"));
gongwen.setTitle(resultSet.getString("title"));
gongwen.setIsread(resultSet.getString("isread"));
gongwen.setSenddate(resultSet.getString("senddate"));
gongwen.setAccessories(resultSet.getString("accessories"));
pageList.addData(gongwen);
}
}
catch (Exception e) {
e.printStackTrace();
}
finally {
connectionClose(connection, statement, resultSet);
}
return pageList;
}
/**
* 1、按照标题查看公文的详细内容。
* 2、在草稿箱中为修改公文而进行记录查询时,也用到此函数。
*
* @param universalid(公文标示符)
*/
public Gongwen findGwbyTitle(String universalid) {
Gongwen gongwen = new Gongwen();
Session session = null;
try {
SessionFactory sf = new Configuration().configure()
.buildSessionFactory();
session = sf.openSession();
//Transaction tx = session.beginTransaction();
//查询记录
Query query = session
.createQuery("select a from Gongwen as a where a.universalid = '"
+ universalid + "'");
Iterator it = query.iterate();
if (it.hasNext()) {
gongwen = (Gongwen) it.next();
//tx.commit();
}
session.close();
}
catch (HibernateException e) {
sessionClose(session);
e.printStackTrace();
}
finally {
sessionClose(session);
}
return gongwen;
}
/**
* 本方法是查询所有已经保存到草稿箱的公文。
*/
public PageListData getAllSaved(String sendid, String issend,
PageListData pageList) {
String sqlStr = "";
String addSql = " order by senddate desc";
Connection connection = null;
Statement statement = null;
ResultSet resultSet = null;
try {
sqlStr = "select * from gongwen where sendid = '" + sendid
+ "' and issend = '" + issend + "'";
connection = com.db.ConnectionPool.getConnection();
statement = connection.createStatement();
PageQuery pageQuery = new PageQuery();
resultSet = pageQuery.sqlQueryPage(statement, sqlStr, addSql,
pageList);
for (int i = 0; i < pageList.getPageSize() && resultSet.next(); i++) {
Gongwen gongwen = new Gongwen();
gongwen.setUniversalid(resultSet.getString("universalid"));
gongwen.setOwnerid(resultSet.getString("ownerid"));
gongwen.setSendid(resultSet.getString("sendid"));
gongwen.setSendname(resultSet.getString("sendname"));
gongwen.setTitle(resultSet.getString("title"));
gongwen.setIsread(resultSet.getString("isread"));
gongwen.setSenddate(resultSet.getString("senddate"));
gongwen.setAccessories(resultSet.getString("accessories"));
pageList.addData(gongwen);
}
}
catch (Exception e) {
e.printStackTrace();
}
finally {
connectionClose(connection, statement, resultSet);
}
return pageList;
}
/**
* 删除所选的公文。
* */
public void deleteGwbyUniversalid(String universalid) {
Session session = null;
try {
SessionFactory sf = new Configuration().configure()
.buildSessionFactory();
session = sf.openSession();
Transaction tx = session.beginTransaction();
//删除记录
session.delete("from Gongwen as gongwen where gongwen.universalid = '" +
universalid
+ "'");
tx.commit();
session.close();
}
catch (Exception e) {
sessionClose(session);
e.printStackTrace();
}
finally {
sessionClose(session);
}
}
/***************************************************************************
* 关闭数据库连接的通用方法
*/
public void connectionClose(Connection connection, Statement statement,
ResultSet resultSet) {
try {
if (resultSet != null) {
try {
resultSet.close();
}
catch (SQLException e1) {
e1.printStackTrace();
}
}
if (statement != null) {
try {
statement.close();
}
catch (SQLException e1) {
e1.printStackTrace();
}
}
if (connection != null) {
try {
connection.close();
}
catch (SQLException e1) {
e1.printStackTrace();
}
}
}
catch (Exception e) {
e.printStackTrace();
}
}
/**
* 关闭session
*/
public void sessionClose(Session session) {
if (session != null) {
try {
session.close();
}
catch (HibernateException e1) {
e1.printStackTrace();
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -