目录:
代码:
ps:
#数据库类型:1为MYSQL,默认为1。
DBType=1
#MySQL 数据库连接信息
#MySQL 数据库驱动程序
MySQLDriver=org.gjt.mm.mysql.Driver
# MySQL数据库连接字符串。
# 127.0.0.1:3306 为数据库地址和端口
# webDB 为数据库名,user 为登录用户名,password 为登录密码。请自行更改。
MySQLURL=jdbc:mysql://127.0.0.1:3306/webdB?user=root&password=123456&useUnicode=true&characterEncoding=UTF-8
#您还可以继续添加其它的数据库。
1.DBConnection.java
package com.mingrisoft; //指定类所在的包
import java.sql.*; //导入数据库操作的类
import java.util.*;
import java.io.*;
import com.mingrisoft.Function;
public class DBConnection
{
private String FileName; //配置文件名
private int DBType; //数据库类型
private Connection conn; //连接对象
private String MySqlDriver; //MYSQL Server驱动程序
private String MySqlURL; //MYSQL Server连接字符串
public DBConnection()
{
conn = null;
}
public Connection getConn()
{
DBType= new Function().StrToInt(getPara("DBType"));
switch(DBType)
{
case 1:return(getConnToMySql());
default:return null;
}
}
public String getPara(String ParaName)
{
FileName="../DBConfig.property";
Properties prop= new Properties();
try
{
InputStream is=getClass().getResourceAsStream(FileName);
prop.load(is);
if(is!=null) is.close();
}
catch(Exception e) {
return "Error!";
}
return prop.getProperty(ParaName);
}
public Connection getConnToMySql()
{
try{
MySqlDriver = getPara("MySQLDriver");
MySqlURL = getPara("MySQLURL");
Class.forName(MySqlDriver).newInstance();
conn = DriverManager.getConnection(MySqlURL);
}catch(Exception e){
//e.printStackTrace();
//return "操作数据库出错,请仔细检查" ;
//System.err.println(e.getMessage());
}
return conn;
}
}
其中关于Properites类:
Properties 继承于 Hashtable。表示一个持久的属性集.属性列表中每个键及其对应值都是一个字符串。
Properties 类被许多 Java 类使用。例如,在获取环境变量时它就作为 System.getProperties() 方法的返回值。
Properties 定义如下实例变量.这个变量持有一个 Properties 对象相关的默认属性列表
2.Functions.java
package com.mingrisoft;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class Function {
DBConnection DBConn = new DBConnection();
public boolean CheckLogin(Connection conn, String s1, String s2) throws SQLException {
Statement stmt = conn.createStatement();
ResultSet rs = null;
boolean OK = true;
int AdminID = 0;
int AdminType = 0;
String AdminPwd = "";
String User = CheckReplace(s1);
String Pwd = CheckReplace(s2);
String Sql = "select * from Admin where AdminName='" + User + "'";
rs = stmt.executeQuery(Sql);
if (!rs.next()) {
OK = false;
} else {
AdminPwd = rs.getString("AdminPwd");
if (Pwd.equals(AdminPwd)) {
AdminID = rs.getInt("AdminID");
AdminType = rs.getInt("AdminType");
OK = true;
} else {
OK = false;
}
}
return OK;
}
public String CheckReplace(String s) {
try {
if ((s == null) || (s.equals("")))
return "";
StringBuffer stringbuffer = new StringBuffer();
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
switch (c) {
case '"':
stringbuffer.append(""");
break;
case '\'':
stringbuffer.append("'");
break;
case '|':
stringbuffer.append("");
break;
case '&':
stringbuffer.append("&");
break;
case '<':
stringbuffer.append("<");
break;
case '>':
stringbuffer.append(">");
break;
default:
stringbuffer.append(c);
}
}
return stringbuffer.toString().trim();
} catch (Exception e) {
}
return "";
}
public String CheckDate(String[] s1, String[] s2) {
boolean OK = true;
StringBuffer sb = new StringBuffer();
try {
for (int i = 0; i < s1.length; i++) {
if ((s1[i] == null) || (s1[i].equals(""))
|| (s1[i].equals(" "))) {
sb.append("<li> [ " + s2[i] + " ] 不能为空!");
OK = false;
}
}
if (OK)
return "Yes";
return sb.toString().trim();
} catch (Exception e) {
}
return "操作失败!";
}
public String getStrCN(String s) {
return s;
}
public int StrToInt(String s) {
try {
return Integer.parseInt(CheckReplace(s));
} catch (Exception e) {
}
return 0;
}
public boolean StringToBoolean(String s) {
if ((s != null) && (s.equals("Yes")))
return true;
return false;
}
public String Page(String sPage, ResultSet rs, int intPage, int intPageSize) {
StringBuffer sb = new StringBuffer();
String s = null;
int i = 0;
try {
rs.last();
int intRowCount = rs.getRow();
int intPageCount;
if (intRowCount % intPageSize == 0)
intPageCount = intRowCount / intPageSize;
else
intPageCount = (int) Math.floor(intRowCount / intPageSize) + 1;
if (intPageCount == 0)
intPageCount = 1;
if (intPage < 1)
intPage = 1;
if (intPage > intPageCount)
intPage = intPageCount;
if (intRowCount > intPageSize) {
s = "<table class=\"am-table am-table-striped\" width=\"90%\" border=\"0\" align=\"center\" cellpadding=\"2\" cellspacing=\"0\"><tr>";
s = s
+ "<td width=\"80%\" height=\"30\" class=\"chinese\"><span class=\"chinese\">";
s = s + "当前第" + intPage + "页/共" + intPageCount
+ "页, 共" + intRowCount
+ "条记录, " + intPageSize + "条/页";
int showye = intPageCount;
if (showye > 10)
showye = 10;
for (i = 1; i <= showye; i++)
;
s = s + "</span></td>";
s = s + "<td width=\"20%\">";
s = s + "<table width=\"100%\" border=\"0\">";
s = s + "<tr><td><div align=\"right\"><span class=\"chinese\">";
s = s
+ "<select id=\"ipage\" name=\"ipage\" class=\"chinese\" onChange=\"jumpMenu('self',this,0)\">";
s = s + "<option value=\"\" selected>请选择</option>";
for (i = 1; i <= intPageCount; i++) {
String sSelect = i == intPage ? "SELECTED" : "";
s = s + "<option value=\"" + sPage + "intPage=" + i + "\""
+ sSelect + ">第" + i + "页</option>";
}
s = s + "</select></span></div>";
s = s + "</td></tr></table>";
return s + "</td></tr></table>";
}
return "";
} catch (Exception e) {
}
return "分页出错!";
}
public String PageFront(String sPage, ResultSet rs, int intPage,
int intPageSize) {
StringBuffer sb = new StringBuffer();
String s = null;
int i = 0;
try {
rs.last();
int intRowCount = rs.getRow();
int intPageCount;
if (intRowCount % intPageSize == 0)
intPageCount = intRowCount / intPageSize;
else
intPageCount = (int) Math.floor(intRowCount / intPageSize) + 1;
if (intPageCount == 0)
intPageCount = 1;
if (intPage < 1)
intPage = 1;
if (intPage > intPageCount)
intPage = intPageCount;
if (intRowCount > intPageSize) {
s = "<table width=\"90%\" border=\"0\" align=\"left\" cellpadding=\"2\" cellspacing=\"0\"><tr>";
s = s
+ "<td style=\"text-align:left\" width=\"80%\" height=\"30\" class=\"chinese\"><span class=\"chinese\">";
s = s + "当前第" + intPage + "页/共" + intPageCount
+ "页, 共" + intRowCount
+ "条记录, " + intPageSize
+ "条/页 ";
int showye = intPageCount;
if (showye > 10)
showye = 10;
for (i = 1; i <= showye; i++) {
if (i == intPage)
s = s + " " + i + " ";
else {
s = s + " <a style=\"color:#3F862E\" href=\""
+ sPage + "intPage=" + i + "\">" + i + "</a> ";
}
}
s = s + "</span></td>";
return s + "</tr></table>";
}
return "";
} catch (Exception e) {
}
return "分页出错!";
}
public boolean AddLog(String[] s) {
try {
Connection Conn = this.DBConn.getConn();
Statement stmt = Conn.createStatement(1004, 1007);
ResultSet rs = null;
for (int i = 0; i < s.length; i++) {
s[i] = getStrCN(CheckReplace(s[i]));
}
String sql = "insert into Log (User,LogType,LogTime,IP,Result) values (";
sql = sql + "'" + s[0] + "',";
sql = sql + "'" + s[1] + "',";
sql = sql + "'" + s[2] + "',";
sql = sql + "'" + s[3] + "',";
sql = sql + "'" + s[4] + "')";
stmt.executeUpdate(sql);
stmt.close();
Conn.close();
return true;
} catch (SQLException e) {
}
return false;
}
public String OutError(String s) {
try {
StringBuffer sb = new StringBuffer();
sb
.append("<br><br><table width=\"60%\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">\r\n");
sb.append("<tr><td align=\"center\" valign=\"top\">\r\n");
sb
.append("<table width=\"90%\" border=\"1\" align=\"center\" cellpadding=\"6\" cellspacing=\"1\">\r\n");
sb
.append("<tr class=\"chinese\" height=\"25\"><td height=\"27\" background=\"images/bg.gif\" class=\"info\">\r\n");
sb
.append("<div align=\"center\" class=\"title\">错误页面</div></td></tr>\r\n");
sb
.append("<tr class=\"chinese\" height=\"25\"><td><table cellspacing=\"4\" cellpadding=\"1\">\r\n");
sb
.append("<tr><td width=\"511\" height=\"80\" align=\"middle\" valign=\"top\">\r\n");
sb
.append("<p align=\"left\"><span class=\"info1\">操作出错:</span></p><div align=\"left\" class=\"info1\">");
sb.append(s + "</div></td></tr></table></td></tr>\r\n");
sb
.append("<tr><td background=\"images/bg.gif\" height=\"20\" valign=\"middle\"><div align=\"center\" class=\"chinese\">\r\n");
sb
.append("<a href=\"#\" onClick=\"javascript:history.go(-1)\">返回</a></div></td></tr></table></td></tr></table><br><br>\r\n");
return sb.toString();
} catch (Exception e) {
}
return "操作出错!";
}
public String OutWarn(String s) {
try {
StringBuffer sb = new StringBuffer();
sb
.append("<br><br><form name=\"form1\" method=\"post\" action=\"\">\r\n");
sb
.append("<table border=\"1\" align=\"center\" cellpadding=\"1\" cellspacing=\"2\">\r\n");
sb
.append("<tr><td width=\"400\" height=\"80\" align=\"middle\" valign=\"top\">\r\n");
sb.append("<div align=\"left\" class=\"info1\">系统警告:<br><br>\r\n");
sb.append(" ");
sb.append(s);
sb.append("</div></td></tr>\r\n");
sb
.append("<tr><td height=\"20\" align=\"middle\" valign=\"top\"><div align=\"center\">\r\n");
sb
.append("<input name=\"Submit\" type=\"button\" class=\"button\" value=\"取消\" onClick=\"javascript:history.go(-1);\"> \r\n");
sb
.append("<input name=\"OK\" type=\"hidden\" id=\"OK\" value=\"Yes\">\r\n");
sb
.append("<input name=\"Submit2\" type=\"submit\" class=\"button\" value=\"确定\">\r\n");
sb.append("</div></td>\r\n");
sb.append("</tr></table></form>\r\n");
return sb.toString();
} catch (Exception e) {
}
return "操作出错!";
}
}
转义字符:https://blog.csdn.net/weixin_45678130/article/details/113053736
statement连接数据库的方法https://blog.csdn.net/weixin_45678130/article/details/113055154
3.login.java
package com.mingrisoft;
import java.sql.Connection;
import java.sql.SQLException;
public class Login {
DBConnection DBConn = new DBConnection();
Function Fun = new Function();
public static int AdminID = 0;
public static int AdminType = 0;
public Login() {
}
public boolean LoginCheck(String s1, String s2) {
try {
Connection Conn = DBConn.getConn();
boolean OK = true;
OK = Fun.CheckLogin(Conn, s1, s2);
return OK;
} catch (SQLException e) {
return false;
}
}
}
4.news.java
package com.mingrisoft;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.text.SimpleDateFormat;
import java.util.Date;
public class News
{
DBConnection DBConn = new DBConnection();
Function Fun = new Function();
public News()
{
}
public String ListNewsFront(String sPage,String strPage)
{
try
{
Connection Conn = DBConn.getConn();
Statement stmt = Conn.createStatement();
ResultSet rs = null;
StringBuffer sb = new StringBuffer();
int i;
int intPage = 1;
int intPageSize = 5;
String sSql = "select * from News order by NewsID desc";
rs = stmt.executeQuery(sSql);
if (!rs.next())
{
sb.append("<tr height=\"25\" bgcolor=\"#d6dff7\" class=\"info1\"><td colspan=\"5\">\r\n");
sb.append("<div align=\"center\"><b>没有记录!</b></div></td></tr>\r\n");
}
else
{
intPage = Fun.StrToInt(strPage);
sPage = Fun.CheckReplace(sPage);
if (intPage==0) intPage=1;
rs.absolute((intPage-1) * intPageSize+1);
i = 0;
while(i < intPageSize && !rs.isAfterLast())
{
int NewsID = rs.getInt("NewsID");
String NewsTitle = rs.getString("NewsTitle");
String NewsTime = rs.getString("NewsTime");
String AdminName = rs.getString("AdminName");
sb.append("<tr>");
sb.append("<td>"+NewsTitle+"</td>");
sb.append("<td >"+AdminName+"</td>");
sb.append("<td >"+NewsTime+"</td>");
sb.append("<td ><a style=\"color:#3F862E\" target=\"_blank\" href=\"newsFrontDetail.jsp?newsId="+NewsID+"\">详情</a></td></tr>");
rs.next();
i++;
}
sb.append(Fun.PageFront(sPage,rs,intPage,intPageSize));
}
rs.close();
stmt.close();
Conn.close();
return sb.toString();
}catch(Exception e)
{
return "No";
}
}
public String ListNews(String sPage,String strPage)
{
try
{
Connection Conn = DBConn.getConn();
Statement stmt = Conn.createStatement();
ResultSet rs = null;
StringBuffer sb = new StringBuffer();
int i;
int intPage = 1;
int intPageSize = 5;
String sSql = "select * from News order by NewsID desc";
rs = stmt.executeQuery(sSql);
if (!rs.next())
{
sb.append("<tr height=\"25\" bgcolor=\"#d6dff7\" class=\"info1\"><td colspan=\"4\">\r\n");
sb.append("<div align=\"center\"><b>没有记录!</b></div></td></tr>\r\n");
}
else
{
intPage = Fun.StrToInt(strPage);
sPage = Fun.CheckReplace(sPage);
if (intPage==0) intPage=1;
rs.absolute((intPage-1) * intPageSize+1);
i = 0;
while(i < intPageSize && !rs.isAfterLast())
{
int NewsID = rs.getInt("NewsID");
String NewsTitle = rs.getString("NewsTitle");
String NewsContent = rs.getString("NewsContent");
String NewsTime = rs.getString("NewsTime");
String AdminName = rs.getString("AdminName");
sb.append("<tr>");
sb.append("<td class=\"table-id\">"+NewsID+"</td>");
sb.append("<td>"+NewsTitle+"</td>");
sb.append("<td class=\"table-title\">"+AdminName+"</td>");
sb.append("<td class=\"table-title\">"+NewsTime+"</td>");
sb.append("<td><div class=\"am-btn-toolbar\">");
sb.append("<div class=\"am-btn-group am-btn-group-xs\">");
sb.append("<input type=\"hidden\" value=\""+NewsID+"\">");
sb.append("<input type=\"hidden\" value=\""+NewsContent+"\">");
sb.append("<input type=\"hidden\" value=\""+NewsTitle+"\">");
sb.append("<a οnclick=\"edit(this);\"");
sb.append("class=\"am-btn am-btn-primary am-btn-xs \"");
sb.append("href=\"javascript:void(0);\"> <span></span> 修改 <a> ");
sb.append("<a rel=\""+NewsID+"\" οnclick=\"del(this);\" class=\"am-btn am-btn-danger am-btn-xs \" href=\"javascript:void(0);\"> " +
"<span></span>删除<a>");
sb.append("</div></div></td></tr>");
rs.next();
i++;
}
sb.append(Fun.Page(sPage,rs,intPage,intPageSize));
}
rs.close();
stmt.close();
Conn.close();
return sb.toString();
}catch(Exception e)
{
return "No";
}
}
public String AddNews(String [] s,String s1,String s2)
{
try
{
Connection Conn = DBConn.getConn();
Statement stmt = Conn.createStatement();
ResultSet rs = null;
String sSql = "select * from News order by NewsID desc";
rs = stmt.executeQuery(sSql);
int z=0;
int newNum=0;
if (!rs.next())
{
newNum=1;
}else{
while(z <1 && !rs.isAfterLast())
{
int NewsID = rs.getInt("NewsID");
newNum=NewsID+1;
break;
}
}
for(int i=0;i<s.length;i++)
{
if(i!=1) s[i] = Fun.getStrCN(Fun.CheckReplace(s[i]));
else s[i] = Fun.getStrCN(s[i]);
}
SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm");
String newsTime = format1.format(new Date());
StringBuffer sql= new StringBuffer();
sql.append("insert into News (NewsID,NewsTitle,NewsContent,NewsTime,AdminName) values (" +
" '"+newNum+"',"+
" '"+s[0]+"',"+
" '"+s[1]+"'," +
" '"+newsTime+"'," +
" '"+s1+"')");
System.out.println(sql);
try{
Conn.setAutoCommit(false);
stmt.execute(sql.toString());
Conn.commit();
Conn.setAutoCommit(true);
stmt.close();
Conn.close();
return "Yes";
}catch (Exception e) {
Conn.rollback();
e.printStackTrace();
Conn.close();
return "添加成功!";
}
}catch(Exception e)
{
e.printStackTrace();
return "添加失败";
}
}
public String EditNews(String [] s,String s0,String s1,String s2)
{
try
{
Connection Conn = DBConn.getConn();
Statement stmt = Conn.createStatement();
for(int i=0;i<s.length;i++)
{
s[i] = Fun.getStrCN(Fun.CheckReplace(s[i]));
}
int NewsID = Fun.StrToInt(s0);
StringBuffer sql = new StringBuffer();
sql.append("update News set NewsTitle='"+s[0]+"'" +
" ,NewsContent='"+s[1]+"'" +
" where NewsID='"+NewsID+"'");
stmt.executeUpdate(sql.toString());
stmt.close();
Conn.close();
return "Yes";
}catch(Exception e)
{
e.printStackTrace();
System.out.print(e.getMessage());
return "编辑错误!";
}
}
public boolean DelNews(String s0,String s1,String s2)
{
try{
Connection Conn = DBConn.getConn();
Statement stmt = Conn.createStatement();
int NewsID = Fun.StrToInt(s0);
if (NewsID==0)
return false;
else
{
try{
String sql = "delete from News where NewsID=" + NewsID;
Conn.setAutoCommit(false);
stmt.executeUpdate(sql);
Conn.commit();
Conn.setAutoCommit(true);
stmt.close();
Conn.close();
return true;
}catch (Exception e) {
Conn.rollback();
//e.printStackTrace();
Conn.close();
return false;
}
}
}catch(Exception e){
//e.printStackTrace();
//System.out.print(e.getMessage());
return false;
}
}
public String FrontNewsDetail(String s0)
{
try{
Connection Conn = DBConn.getConn();
Statement stmt= Conn.createStatement();
ResultSet rs=null;
int NewsID = Fun.StrToInt(s0);
if (NewsID==0)
return "No";
else
{
try{
String sql = "select * from News where NewsID=" + NewsID;
rs=stmt.executeQuery(sql);
StringBuffer sb= new StringBuffer();
int i = 0;
while (i < 1 && !rs.isAfterLast()) {
rs.next();
String NewsTitle = rs.getString("NewsTitle");
String NewsContent = rs.getString("NewsContent");
String[] content=NewsContent.split("#");
sb.append("<br><h2 style=\"font-size:28px;margin-left:30%\">"+ NewsTitle+ "</h2>");
for(int j=0;j<content.length;j++){
sb.append("<p>"+content[j]+"</p>");
}
rs.next();
i++;
}
rs.close();
stmt.close();
Conn.close();
return sb.toString();
}catch (Exception e) {
Conn.rollback(); //JDBC回滚
//e.printStackTrace();
Conn.close();
return "No";
}
}
}catch(Exception e){
return "No";
}
}
}
5.user.java
package com.mingrisoft;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
public class User
{
DBConnection DBConn = new DBConnection();
Function Fun = new Function();
public String AdminName,AdminPwd,UserName,UserSex,UserTel;
public String UserQQ,UserEmail,UserAddress,UserZip,UserInfo;
public String AddTime,LastLoginTime,LastLoginIP;
public String sAdminType,UserBirthday;
public int AdminType,BirthYear,BirthMonth,BirthDay;
public int NewsNum,LoginNum;
public String [] sType = new String[4];
public User()
{
sType[1] = "";
sType[2] = "";
sType[3] = "";
}
public String ListUser(String sPage,String strPage)
{
try
{
Connection Conn = DBConn.getConn();
Statement stmt = Conn.createStatement();
ResultSet rs = null;
StringBuffer sb = new StringBuffer();
int i;
int intPage = 1;
int intPageSize = 5;
String sSql = "select * from Admin order by AdminID desc";
rs = stmt.executeQuery(sSql);
if (!rs.next())
{
sb.append("<tr height=\"25\" bgcolor=\"#d6dff7\" class=\"info1\"><td colspan=\"4\">\r\n");
sb.append("<div align=\"center\"><b>û���û�!</b></div></td></tr>\r\n");
}
else
{
intPage = Fun.StrToInt(strPage);
sPage = Fun.CheckReplace(sPage);
if (intPage==0) intPage=1;
rs.absolute((intPage-1) * intPageSize+1);
i = 0;
while(i < intPageSize && !rs.isAfterLast())
{
int AdminID = rs.getInt("AdminID");
String AdminName = rs.getString("AdminName");
String AdminPwd = rs.getString("AdminPwd");
String AdminType = rs.getString("AdminType");
String LastLoginTime = rs.getString("LastLoginTime");
sb.append("<tr>");
sb.append("<td class=\"table-id\">"+AdminID+"</td>");
sb.append("<td>"+AdminName+"</td>");
sb.append("<td class=\"table-title\">"+AdminPwd+"</td>");
sb.append("<td class=\"table-title\">"+LastLoginTime+"</td>");
sb.append("</tr>");
rs.next();
i++;
}
sb.append(Fun.Page(sPage,rs,intPage,intPageSize));
}
rs.close();
stmt.close();
Conn.close();
return sb.toString();
}catch(Exception e)
{
return "No";
}
}
}