图书管理系统项目(初学者必看的小项目)

本文记录了一个初学者使用Java实现图书管理系统的全过程,包括数据库连接、错误解决、页面呈现和逻辑处理。通过JSP+JavaBeans+Servlet的Model II MVC模式,实现了增删改查功能,分享了代码和解决问题的经验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

图书管理系统项目

第一天:准备把整个框架顺一遍,第一次独立写这个算是我人生中第一个java小项目,不清楚多少天能完成,我会坚持把自己的心得写在这里,主要是给自己看(不是学文的,文笔很差见谅,争取把注释写详细点),如果能帮助其他初学者更好了  一起加油!

点击打开链接

DriverManager.getConnection(String url,String user,String password)  我之前不太理解 特意查了下API

 

第一天搭建一个数据库实现基本功能  (因为前三步都需要连接数据库,定义一个数据库连接)

在类中创建一个构造函数初始化数据库的连接 

(PS: 为什么要创建数据库,为了初始化数据库,在后面会经常用的到)

1.创建数据库  createDatabase()   

2.创建表        createTable()

3.创建文件     addData(String filename)

 

我标记红色的请留意

package javastudy;
 
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
 
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;
 
public class DBLib {
	//因为三个方法都需要连接数据库
	Connection conn;   //定义一个变量
	Statement st;      
	public DBLib() throws ClassNotFoundException//定义一个构造函数 初始化数据库连接 
, SQLException
	{
		Class.forName("com.mysql.jdbc.Driver");  //加载驱动程序
		//需要得到三个参数
		String url="jdbc:mysql://127.0.0.1:3306?useUnicode=true&characterEncoding=utf-8";//本机ip地址 本机端口  防止数据库乱码(若无乱码无须添加)
		String user="root";           //数据库的名字
		String pwd="521125";          //数据库密码
		conn=(Connection) DriverManager.getConnection(url, user, pwd); //初始化数据库  拿到三个参数
		st=(Statement) conn.createStatement();   //创建一个 Statement 对象来将 SQL 语句发送到数据库。
	}
	public void createDatabase() throws SQLException   //创建一个数据库
	{
		String sql="drop database if exists Book;";    //判断数据库存在删除
		st.executeUpdate(sql);//执行给定 SQL 语句
		sql="create database Book;";   //创建表
		st.executeUpdate(sql);//执行
			
		
	}
	public void createTable() throws SQLException     //创建一个表
	{
		String sql="use Book;";//使用表
		st.executeQuery(sql);//执行
		sql="create table BOOKS"; 
		sql+="(";
		sql+="  ID int(4) not null primary key auto_increment,";
		sql+="  Name	varchar(100),";
		sql+="  Author varchar(50),";
		sql+="  Price  decimal,";
	    sql+="Publisher varchar(100)";
		sql+=") ENGINE=InnoDB DEFAULT CHARSET=utf8;";//我额外加的 因为我安装数据库未设置UTF-8 出现乱码
		st.executeUpdate(sql);//执行语句
	}
	public void addData(String filename) throws SQLException//创建一个文档
, IOException
	{
		String sql="use Book;";//使用表
		st.executeUpdate(sql);//执行
		FileReader fr=new FileReader(filename);      //读取
		BufferedReader br=new BufferedReader(fr);   //缓冲区(包装类)
		String line;
		sql=" INSERT INTO BOOKS (Name,Author,Price,Publisher) VALUES(?,?,?,?)";  //sql语句
		PreparedStatement ps=conn.prepareStatement(sql);
		
		while((line=br.readLine())!=null)   //判断是否读完
		{
			String[] values=line.split(",");                //以逗号拆分 用一个字符串数组接收          
			ps.setString(1, values[0]);						//字段从1数组从0开始
			ps.setString(2, values[1]);
			ps.setDouble(3, Double.parseDouble(values[2]));//把字符串强制 转换Double
			ps.setString(4, values[3]);
			st.executeUpdate(sql);//执行
		}
		br.close(); 			//关闭资源
	}
}

2.创建一个init  初始化测试创建数据库是否成功

第一个问题:

遇到一个错误 创建数据实现,无法向里面加入数据,显示代码错误 

解决方法

 

由于粗心,和对代码的不熟悉浪费了十分钟去查错误,特意去看了API把
1.executeUpdate()  2.executeQuery();

上面错误代码我没有修改!复制时需要注意

第二个问题 数据库在创建时 生成的不是utf-8 

解决方法1:

第3个问题 导入文字出现乱码 

解决方法1:去根目录找文件把属性改成utf-8   C:\Users\Administrator\eclipse-workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\图书管理项目 (未成功)

解决方案2:去官网找了一篇大佬的资料 

 jsp用来显示结果,用来做页面呈现
 逻辑处理用Servlet来做。

 jsp:用来显示结果

<%@ page language="java" contentType="text/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值