工作环境配置
在开始java项目工作前,我们需要配置好我们的工作环境。需要的配置环境包括JDK、IDEA、MySql以及MySql图形界面管理工具。
JDK
JDK(Java Development Kit) 是 Java 语言的软件开发工具包(SDK),因此想要运行java程序,必须要安装JDK。JDK也有很多的版本,本次实习所需使用的版本是1.8.0_181。至于如何去进行配置JDK,网上有很多有效的教程,这里也就不在赘述了,附上教程链接。
链接:JDK安装教程
IDEA
IDEA 全称IntelliJ IDEA,是用于java语言开发的集成环境(也可用于其他语言),IntelliJ在业界被公认为最好的java开发工具之一。本次实习的主要开发工具就是IDEA,我们需要在这软件上面编写代码,开发程序。至于配置,直接附上安装教程链接。
链接:IDEA安装教程
MySql
MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),使用最常用的数据库管理语言–结构化查询语言(SQL)进行数据库管理。本次实习所使用的版本是8.0.17,不多逼逼,直接上教程链接。
链接:mysql安装教程
MySql图形界面管理工具
MySQL是一个款非常主流的小型关系型数据库管理系统,但mysql本身没有提供非常方便的图形管理工具,日常的开发和维护均在类似dos窗口中进行,所以对于编程初学者来说,上手就略微有点困难,增加了学习成本。我在这里给大家推荐两款我常用的mysql图形管理工具。
- Navicat
目前开发者用的最多的一款mysql图形用户管理工具,界面简洁、功能也非常强大,与微软的SQLServer管理器很像,简单易学,支持中文,提供免费版本。
链接:Navicat安装教程 - Workbeach
Mysql官方的一个图形管理工具,支持数据库的创建、设计、迁移、备份、导出、导入等功能,支持windows、linux、mac主流的操作系统,使用起来非常的棒。
链接:Workbeach安装教程
项目入门练习
MySql练习实验
实验内容:利用数据库实现用户登录判断。
编程:
- 创建java新项目,在项目根目录上新建文件夹lib,并导入mysql-connector-java-8.0.17.jar工具包,工具包的版本根据mysql包的版本具体而定。
- 创建jdbc.properties文件,此为配置文件,用于存储数据库信息
//url语句中的3307是端口号,dyh是数据库名称,都替换成你的设置即可
url=jdbc:mysql://localhost:3307/dyh?urlSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
user=root
password=1214 //请输入你的密码
driver=com.mysql.cj.jdbc.Driver
- 使用MySql图形界面管理工具创建新表user
- 创建jdbcUtil类,此类用于连接数据库,执行sql语句
public class jdbcUtil {
private static String url;
private static String user;
private static String password;
private static String driver;
//读取文件
static {
try{
Properties properties = new Properties();
ClassLoader classLoader = jdbcUtil.class.getClassLoader();
URL res = classLoader.getResource("jdbc.properties");
String path = res.getPath();
System.out.println(path);
//加载文件
properties.load(new FileReader(path));
//获取数值
url = properties.getProperty("url");
user = properties.getProperty("user");
password = properties.getProperty("password");
driver = properties.getProperty("driver");
Class.forName(driver);
}catch (IOException | ClassNotFoundException e){
e.printStackTrace();
}
}
//获得连接
public static Connection getConnection() throws SQLException {
return DriverManager.getConnection(url, user, password);
}
//关闭连接
public static void close(ResultSet rs, Statement stmt, Connection conn) {
if(rs != null){
try{
rs.close();
}catch (SQLException e){
e.printStackTrace();
}
}
if(stmt != null){
try{
stmt.close();
}catch (SQLException e){
e.printStackTrace();
}
}
if(conn != null){
try{
conn.close();
}catch (SQLException e){
e.printStackTrace();
}
}
}
}
- 创建jdbc_test类,用于实现登录判断
public class jdbc_test {
//主函数,程序的入口
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入用户名");
String username = sc.nextLine();
System.out.println("请输入密码");
String password = sc.nextLine();
boolean loginFlag = new jdbc_test().login(username, password);
if(loginFlag){
System.out.println("登录成功");
}else {
System.out.println("登陆失败");
}
}
public boolean login(String username, String password){
if(username==null || password==null){
return false;
}
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try{
conn = jdbcUtil.getConnection();
String sql = "select * from user where username = '"+username+"'and password = '"+password+"'";
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
return rs.next();
}catch(SQLException e){
e.printStackTrace();
}finally {
jdbcUtil.close(rs, stmt, conn);
}
return false;
}
}
- 结果输出:
实验小结
JDBC(java database connectivity)驱动程序是对JDBC规范完整的实现,它的存在在JAVA程序与数据库系统之间建立了一条通信的渠道。因此在程序的编写过程中,我们正是需要JDBC来实现程序与数据库之间的信息沟通。