一、系统开发前的环境准备
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);//给占位符赋值,第一个问号的下标就是1preparedStatement.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;}
}
持续更新。。。