准备工作
环境
- JDK(建议 1.8 以上)
- 开发工具,Eclipse 或者 idea …
- mysql **或者 mssql(我是用的 mysql5.7.17**,给的 demo 是 mysql 的)
测试给的 Demo
①装好 mysql 之后启动它,然后用管理工具我用的是** navicat**,打开然后将给的 demo 里面的 sql 脚本导入进去(导入不好的可以手动建立一个,用脚本文件导入后的名字是 tb_demo,我这里是手动建的)

最后差不多是这样的结构
②在** Eclipse 里面 import 项目,这里我 import 会有个感叹号,最好重新建一个项目,不然可能会有奇怪的错误下面是如何新建的步骤视频**
这里要改的地方就是 DbUtil 里面数据库配置
public class DbUtil { String driverName = "com.mysql.jdbc.Driver"; String dbURL = "jdbc:mysql://localhost:3306/demo"; String userName = "root"; String userPwd = "admin";
public Connection getCon() throws ClassNotFoundException, SQLException { Class.forName(driverName); Connection conn = DriverManager.getConnection(dbURL, userName, userPwd); return conn; }
public void closeCon(Connection conn) throws SQLException { if (conn != null) conn.close(); }
public static void main(String[] args) { DbUtil dbUtil = new DbUtil(); try { dbUtil.getCon(); System.out.println("连接成功"); } catch (Exception e) { e.printStackTrace(); } } }
|
注意事项
String driverName = "com.mysql.jdbc.Driver";
String dbURL = "jdbc:mysql://localhost:3306/demo"; String userName = "root"; String userPwd = "admin";
|
要改的差不多就是这 4 个配置
①如果是** mysql 并且版本是 8 以下的,那么 driverName** 可以不用改,如果是 8 以上的(群里面那个是 8 以上的)就需要改成
com.mysql.cj.jdbc.Driver,并且找到适合版本的驱动拷贝到 lib 目录然后右键 bulidpath(在这之前先将老的驱动删掉,bulidpath 的作用是将 jar 包真正的加到你的项目中去)
②dbURL,前面的不用改,这里只需要改一下后面的数据库名字,比如我上面建的数据库名字是** demo**, 后面就应该是/demo(如果用脚本直接导入生成的数据库名字是 db_demo,这里就要改成 jdbc:mysql://localhost:3306/db_demo
- 对应 sqlserver 的我也放在上面但是我没装 sqlserver 所以没测试。
③userName,数据库账号(一般默认就是 root)
④password,数据库密码
启动
在 view 包下的** MainPage,这是用 java 的 swing 组件开发的一个 GUI 页面,最下面有一个 main 函数直接启动它就行,(如果有乱码,需要将 eclipes 的工作空间的编码方式换为 utf-8**),到此环境就基本 ok 了,后面的就是写代码的事了。
改用自己的数据库
后面的部分主要是代码的问题了,每个人数据库不同也会有一些差距
导入自己的数据
数据库名字,字段名不要用中文!
数据库名字,字段名不要用中文 !
数据库名字,字段名不要用中文!
实体类改成自己的
import java.util.Date;
public class StuInfo {
private Long stuId; private String stuName; private String stuSex; private Date stuDob; private String stuMajor; public Long getStuId() { return stuId; }
public void setStuId(Long stuId) { this.stuId = stuId; }
public String getStuName() { return stuName; }
public void setStuName(String stuName) { this.stuName = stuName; }
public String getStuSex() { return stuSex; }
public void setStuSex(String stuSex) { this.stuSex = stuSex; }
public Date getStuDob() { return stuDob; }
public void setStuDob(Date stuDob) { this.stuDob = stuDob; }
public String getStuMajor() { return stuMajor; }
public void setStuMajor(String stuMajor) { this.stuMajor = stuMajor; } public StuInfo() {
}
public StuInfo(String stuName, String stuSex, Date stuDob, String stuMajor) { this.stuName = stuName; this.stuSex = stuSex; this.stuDob = stuDob; this.stuMajor = stuMajor; } }
|
这里实体类是和数据库的表和字段对应的,一个 StuInfo 对象就对应一条数据。
public class UserDao { public ResultSet getUsers(User user, Connection con) throws SQLException { StringBuffer sql = new StringBuffer("select * from t_user "); if (user.getUserName()!= null) { sql.append(" where userName like '%"+user.getUserName()+"%'"); } PreparedStatement ps = con.prepareStatement(sql.toString()); return ps.executeQuery(); } public int delete(User user, Connection con) throws SQLException{ String sql="delete from t_user where userName='"+user.getUserName()+"'"; PreparedStatement ps = con.prepareStatement(sql); return ps.executeUpdate(); } public int add(User user, Connection con) throws SQLException{ String sql="insert into t_user values(?,?)"; PreparedStatement ps = con.prepareStatement(sql); ps.setString(1, user.getUserName()); ps.setString(2, user.getTel()); return ps.executeUpdate(); } public int modify(User user, Connection con) throws SQLException{ String sql="update t_user set userName=?, tel=? where userName = '"+user.getUserName()+"'"; PreparedStatement ps = con.prepareStatement(sql); ps.setString(1, user.getUserName()); ps.setString(2, user.getTel()); System.out.println(sql); return ps.executeUpdate(); } }
|
最终都是通过调用这个 Dao 类实现的增删改查。
按照老师的要求是对我们常用的数据库做增删改查,因为我们用的数据库和给的 demo 的表结构不一样,所以需要修改 MainPage,这个是用 java 的 swing 写的一个 GUI,所以需要改这些界面上的一些元素,我记的好像有个插件可以直接拖动生成 swing 这些界面的(看见刘勇用过),我对 swing 不熟悉(早就过时了,没有学的意义),我用 web 写的界面

Mysql
Mysql5.7 解压版的安装和卸载及常见问题
感谢鼓励