最近一直在学习开发jsp网站之类的东西,准备把自己的学习经历分享出来,但是真是因为时间有限,不一定能把文章及时写出来。能写多少写多少吧。
下面是jsp建站的数据库部分:我用mysql建数据库,用的是小企鹅界面,另外自己电脑上装了wamp。wamp用来设置mysql开发环境很好用。数据库里面现在就是留言人的姓名,留言内容,还有主键id三个东西。等整个网页建好运行好了之后再根据情况添加附加功能时再回过头来更改数据库。
用的开发平台IDE是eclipse for ee,这个直接在网上下的,免费的。关于整个jdk的配置网上的帖子太多了。
另外要添加apache,还有项目里面加载Mysql驱动。搞好就行了。
下面是程序部分:先见主要的java程序控制部分。我准备建以下几个类:
ConnectDao,主要用来与数据进行连接交流
Application,用来操作数据存储插入更新之类的操作
Controle,用来以后与jsp控制交流
以后可能会加些新功能,到时候再加一些类方法之类的
下面把我刚刚写的ConnectDao代码跟Application代码贴下面。欢迎大家提问指教。
package Dao;
import java.sql.Connection;
import java.sql.DriverManager;
import
java.sql.PreparedStatement;
import java.sql.ResultSet;
import
java.sql.SQLException;
import java.sql.Statement;
import
java.util.ArrayList;
import java.util.List;
public class ConnectDao {
// 创建静态全局变量
private static Connection
connection;
private static PreparedStatement preparedStatement;
// static Statement st;
/* 获取数据库连接的函数 */
public static Connection
getConnection() {
// Connection con = null; //创建用于连接数据库的Connection对象
try
{
Class.forName("com.mysql.jdbc.Driver");
} catch
(ClassNotFoundException e1) {
// TODO Auto-generated catch
block
System.out.println("加载驱动失败失败");
}// 加载Mysql数据驱动
try {
connection =
DriverManager.getConnection(
"jdbc:mysql://localhost:3306/notes",
"root", "520");// 创建数据连接
} catch (Exception e) {
System.out.println("数据库连接失败" +
e.getMessage());
return null;
}
return connection; //
返回所建立的数据库连接
}
// 用static修饰的函数能直接用类名调用,但是里面的变量必须也是static的
public static void insert()
{
if (getConnection() != null) {
try {
String sql = "insert
into words values(null,‘hao‘,‘hao‘)"; // 插入数据的sql语句,这个还是要改的
//
System.out.println("sql=" + sql);
PreparedStatement preparedStatement =
getConnection()
.prepareStatement(sql);
//
创建用于执行静态sql语句的Statement对象
preparedStatement.executeUpdate(sql); // 执行插入操作的sql语句,并返回插入数据的个数
// System.out.println("向video表中插入 " + count + " 条数据"); //
//
输出插入操作的处理结果
connection.close(); // 关闭数据库连接
} catch (SQLException e) {
System.out.println("插入数据失败" +
e.getMessage());
}
}
}
public static void recuperer() {
if (getConnection() != null)
{
try {
String sql = "select * from words"; //
查询数据的sql语句
PreparedStatement preparedStatement =
connection
.prepareStatement(sql);
ResultSet resultSet =
preparedStatement.executeQuery();
while (resultSet.next()) { //
判断是否还有下一个数据
String notes = resultSet.getString(2);
String name =
resultSet.getString(3);
Application.getInstance().setLesMessages(notes);
Application.getInstance().setLesNames(name);
}
connection.close();
// 关闭数据库连接
} catch (SQLException e)
{
System.out.println("查询数据失败");
}
}
}
/* 更新符合要求的记录,并返回更新的记录数目 */
public static void update()
{
if (getConnection()!=null){
try {
String sql = "update video
set state=402 where itemGuid="
+ v.getItemGuid();// 更新数据的sql语句
PreparedStatement prepareStatement= connection.prepareStatement(sql); // 创建用于执行静态sql语句的Statement对象,st属局部变量
int count = prepareStatement.executeUpdate(sql);// 执行更新操作的sql语句,返回更新数据的个数
System.out.println("video表中更新 " + count + " 条数据"); // 输出更新操作的处理结果
connection.close(); // 关闭数据库连接
} catch (SQLException e)
{
System.out.println("更新数据失败");
}
}
}
public static void main(String[] args)
{
recuperer();
System.out.println(Application.getInstance().getLesMessages());
}
}
以上是ConnectDao,下面是Application
package Dao;
import java.util.ArrayList;
import java.util.List;
public class Application {
private static Application instance =
null;
private List<String> LesMessages = null;
private
List<String> LesNames = null;
private Application() {
LesMessages = new
ArrayList<String>();
LesNames = new
ArrayList<String>();
}
public static Application getInstance() {
if (instance == null)
{
instance = new Application();
}
return instance;
}
public void setInstance(Application instance) {
this.instance =
instance;
}
// 每次定义函数总是要求返回一个东西,没什么好返回的就返回true了
public boolean BackNote() {
if
(ConnectDao.getConnection() != null) {
}
return true;
}
public List<String> getLesMessages() {
return
LesMessages;
}
public List<String> getLesNames() {
return LesNames;
}
public void setLesNames(String name)
{
this.LesNames.add(name);
}
// 下面这个估计用不到
public void setLesMessages(String Message)
{
this.LesMessages.add(Message);
}
}