====================
网上看完视频写完这个小项目后,总结一下自己遇到的问题。。。
一、开发环境
eclipse + widowbuilder
二、涉及到的技术
- Java MVC模式
- Swing
- MySQL
- JDBC
Java MVC模式
M——Model(模型)。用于处理应用程序数据逻辑的部分。建立相关的类来连接数据库存储数据,例如用户类,图书类,图书类别类,把能够抽象化成一个一个的类写在这一部分
V——View(视图)。所有用户看到的界面,写在这一部分。这次用windowbuilder的这一插件来写视图
C——Contraller(控制器)。这部分主要是用来连接Model和View这两部分的,关于用户交互的操作的方法函数写在这一部分
首先,创建了几个包用来写不同模块的代码!
com.luo.Model一个包用来写Model这一模块
com.luo.View一个包用来写View这一模块
com.luo.Dao一个包用来写Controller这一模块
另外,还创建com.luo.Util一个包用来封装相关的工具类,例如我们会重复需要连接数据库,这时候就先封装好一个连接数据库的那一部分的 工具类。后面连接起来就方便多了。
com.luo.Image这个包是用来存放项目中用到的图标和图片
http://www.easyicon.net/ —> 用来找图标的网站
MySQL部分
关联了bookTypeId和Id
也就是说BookType数据库的id 代表着 Book中类别的Id,例如类型1,类型7,其中1和7就是BookType中的id
在com.luo.Util中封装了连接数据库的一个DbUtil类
首先需要4个成员变量:
- 数据库的名字,”jdbc:mysql://localhost:3306/(这里写数据库的名字)”
- MySQL的用户名
- MySQL的密码
- JDBC驱动的名字 “com.mysql.jdbc.Driver”
接下来是连接数据库的方法函数
- 通过Class调用forName()
- 然后通过DriverManager调用getConnection()
- 最后返回一个Connection类型值
还有关闭数据库的方法函数
- 通过传入的Connection类型的值调用Close()
/**
* 连接数据库工具
* @author Administrator
*
*/
public class DbUtil {
private String dbUrl = "jdbc:mysql://localhost:3306/db_book";
private String UserName = "root";
private String Password = "123456";
private String jdbcName = "com.mysql.jdbc.Driver";
/**
* 连接数据库
* @return
* @throws Exception
*/
public Connection getCon() throws Exception {
Class.forName(jdbcName);
Connection conn = DriverManager.getConnection(dbUrl, UserName, Password);
return conn;
}
/**
* 关闭数据库
* @param conn
* @throws Exception
*/
public void Closecon(Connection conn) throws Exception {
if( conn != null){
conn.close();
}
}
Model模块
这次的小项目分别建立了User类,Book类和BookType类。其中,后面需要用到这些类的构造方法传入参数,所以注意,要构造一个不带参数的构造函数,这样后面就可以new一个空的类了。
以下是其中一个用户类的代码,
public class User {
private int id;
private String userName;
private String password;
public User() {
super();
} //不带参数的构造函数
public User(String userName, String password) {
super();
this.userName = userName;
this.password = password;
} //带两个参数的构造函数
/**********************************
分别创建成员变量get()和set()方法
***********************************/
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String