一、系统开发前的环境准备
1.下载Mysql
下载地址:https://dev.mysql.com/downloads/mysql/
文件解压缩到本地
在此路径下新增my.ini文件以及新建data文件夹
编辑my.ini文件
配置环境变量
注意是编辑系统变量的Path
以管理员身份运行cmd
输入命令:mysqld install
安装成功后输入:mysqld --initialize --user=root --console
注意:最后面的root@localhost后的文字为初始化的root 密码,一定要记住
启动MySQL服务
输入命令:net start mysql
登陆MySQL数据库
输入命令:mysql -u root -p
,再按回车,输入密码
密码为上面root@localhost后初始化的密码
修改密码
输入命令:ALTER USER 'root'@'localhost' IDENTIFIED BY ‘新密码’;
2.下载Navicat
下载解压,得到32位和和64位navicat premium 15中文原程序和patch破解文件;64位是第二个
以64位为例,双击文件“navicat150_premium_cs_x64.exe”安装软件,依提示安装即可;
成功安装后,先不打开软件,将注册机文件“Navicat_Keygen_Patch_v5.6_By_DFoX.exe”复制到软件安装目录下;
默认目录【C:\Program Files\PremiumSoft\Navicat Premium 15】
以管理员身份注册机,选择Navicat v15,product选择premium,language选择simplified chinese,再点击patch按纽,注意不要选错版本,显示如下:
这时打开软件,点击注册按钮;
返回注册机,点击Generate会自动填写注册码;
再点击激活按纽,点击手动激活
将requese值复制到注册机中生成激活码;
最后将得到的激活码复制到软件框中即可激活软件,以上就是navicat premium 15中文破解版的详细安装教程。
二、代码
1.在数据库表中添加一条记录
package com.hbnu.jdbc;
import java.sql.*;
public class Demo1 {
public static void main(String[] args) {
Connection connection=null;
Statement statement=null;
try {
//1.注册驱动
DriverManager.registerDriver(new com.mysql.cj.jdbc.Driver());
//2.获取数据库连接对象
String url="jdbc:mysql://localhost:3306/class2110?serverTimezone=GMT&useSSL=false";
String user="root";
String password="123456";
connection=DriverManager.getConnection(url,user,password);
//3.获取数据库操作对象
statement=connection.createStatement();//创建数据库操作对象
//4.执行sql语句
String sql="insert into tb_user values('xxxten','湖北',56233)";
int count=statement.executeUpdate(sql);
//5.处理查询结果集
System.out.println("影响了"+count+"条记录");
} catch (SQLException e) {
e.printStackTrace();
}
//6.关闭数据库资源
finally {
try{
if(statement!=null){
statement.close();
}
}catch (SQLException e){
e.printStackTrace();
}
if(connection!=null){
try {
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}
2.删除数据表的某条记录
package com.hbnu.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class Demo2 {
public static void main(String[] args) {
try {
DriverManager.registerDriver(new com.mysql.cj.jdbc.Driver());
String url="jdbc:mysql://localhost:3306/class2110?serverTimezone=GMT&useSSL=false";
String user="root";
String password="123456";
Connection connection = DriverManager.getConnection(url, user, password);
Statement statement = connection.createStatement();
String sql="delete from tb_user where id=1";
int count=statement.executeUpdate(sql);
System.out.println("影响了数据表"+count+"条数据");
statement.close();
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
3.修改数据表的某条记录
package com.hbnu.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class Demo3 {
public static void main(String[] args) {
try {
DriverManager.registerDriver(new com.mysql.cj.jdbc.Driver());
String url="jdbc:mysql://localhost:3306/class2110?serverTimezone=GMT&useSSL=false";
String user="root";
String password="123456";
Connection connection = DriverManager.getConnection(url, user, password);
Statement statement = connection.createStatement();
String sql="update tb_user set username='tp加疾跑' where id=2";
int count=statement.executeUpdate(sql);
System.out.println("影响了"+count+"条记录");
statement.close();
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
4.查询数据表的记录
package com.hbnu.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class Demo4
{
public static void main(String[] args) {
try {
Class.forName("com.mysql.cj.jdbc.Driver");
String url="jdbc:mysql://localhost:3306/class2110?serverTimezone=GMT&useSSL=false";
String user="root";
String password="123456";
Connection connection = DriverManager.getConnection(url, user, password);
Statement statement = connection.createStatement();
String sql="select id,username,address,account from tb_user";
ResultSet resultSet=statement.executeQuery(sql);
//处理查询结果集
while(resultSet.next()){
//通过具体字段名以具体类型获取数据
int id=resultSet.getInt("id");
String username=resultSet.getString("username");
String address=resultSet.getString("address");
double account=resultSet.getDouble("account");
System.out.println("id:"+id+"\tusername:"+username+"\taddress:"+address+"\taccount:"+account);
}
//关闭数据库资源
resultSet.close();
statement.close();
connection.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
5.制作一个用户使用账号和密码登录的案例
数据库内容如:
package com.hbnu.jdbc;
import java.sql.*;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class Demo5 {
public static void main(String[] args) {
//用户输入账号和密码的界面
Map<String,String>loginInfo=loginUI();
//校验用户的登录信息
boolean result=checkLoginInfo(loginInfo);
System.out.println(result?"账号密码正确,登录成功":"账号密码错误,登录失败");
}
private static boolean checkLoginInfo(Map<String, String> loginInfo) {
//定义一个登录成功或失败的标记
boolean flag=false;
//从集合中获取用户信息,获取用户输入的账号和密码
String username=loginInfo.get("username");
String password=loginInfo.get("password");
try {
Class.forName("com.mysql.cj.jdbc.Driver");
String url="jdbc:mysql://localhost:3306/class2110?serverTimezone=GMT&useSSL=false";
String user="root";
String pwd="123456";
Connection connection = DriverManager.getConnection(url, user, pwd);
//会产生SQL注入,所以用prepareStatement
// Statement statement = connection.createStatement();
//问号是占位符
String sql="select * from tb_user where username=? and password=?";
//对SQL语句进行预编译
PreparedStatement preparedStatement = connection.prepareStatement(sql);
//给占位符赋值,第一个问号的下标就是1
preparedStatement.setString(1,username);
preparedStatement.setString(2,password);
ResultSet resultSet = preparedStatement.executeQuery();
while (resultSet.next()){
//如果能进入while循环,则说明用户输入的账号和密码是正确的
flag=true;
break;
}
} catch (Exception e) {
e.printStackTrace();
}
return flag;
}
private static Map<String, String> loginUI() {
//定义Map集合,用于存放用户的账号和密码
Map<String,String>loginInfo=new HashMap<>();
//获取用户输入的账号和密码
Scanner scanner = new Scanner(System.in);
System.out.println("请输入您的账号:");
String username=scanner.nextLine();
System.out.println("请输入您的密码:");
String password=scanner.nextLine();
//将用户输入的账号和密码存入集合中
loginInfo.put("username",username);
loginInfo.put("password",password);
//将存放账号和密码的集合发送给后端进行校验
return loginInfo;
}
}
持续更新。。。