首先将mysql语句和Java连接做对比
mysql
navicat:
1、连接
2、创建数据库
3、建表
数据操作:插入、修改、删除、查询
4、插入数据
5、查询数据
写SQL语句选中运行:语法检查 运行
显示:运行结果
分析:结果
Java
1、连接------------------------->Connection DriverManager驱动管理器
ip地址、用户名、密码、端口、数据库名--->组合成一串字符:url(统一资源定位符:网址)
通过反射机制,加载Mysql提供的jar文件(Driver)--->自动加载不同数据库的jar包文件
2、SQL语句-------------------->字符串String
3、创建执行SQL的对象-------->执行者PreparedStatement
4、检查语法(预编译)-------->执行者的方法prepared connection
5、执行SQL(语句)-------------->执行者的方法 excute
6、获取执行的结果------------->返回值 int ResultSet 结果集合
7、关闭连接【Java内存没有释放,数据库被占用】 close
Java------>MySQL
Oracle
通用的----->
封装-----> 继承
接口
JDBC:Java DataBase Connector
jdbc:mysql://127.0.0.1:3306/zy_sys?useUnicode=true&characterEncoding=UTF-8&useSSL=false
由mysql提供的 一套接口 作用:实现这套接口
类---->文件---->jar包
lib jar文件
bin 可执行文件 exe cmd sh
getString
getInt
//mysql数据类型 Java
//varchar
- String url = "jdbc:mysql://127.0.0.1:3306/goods?useUnicode=true&characterEncoding=UTF-8&useSSL=false";//3306数据库接口 goods数据库名
- Connection connection;//连接类
- PreparedStatement preparedStatement;//执行者
- ResultSet resultSet;//结果集合
- try{
- //加载驱动
- Class.forName("com.mysql.jdbc.Driver");
- //驱动管理
- connection = DriverManager.getConnection(url,"root","root");
- //sql语句:
- String sql = "insert into tb_goods(goodsid,goodsname,typeid,goodsimage,price,num,goodsinfo)values(21,'小龙虾',2,'20.jpg',50,99,'很新鲜')";
- //预编译:
- preparedStatement = connection.prepareStatement(sql);
- //结果 执行 受影响行数
- int num = preparedStatement.executeUpdate();//insert update delete同一个方法
- System.out.println(num);
-
- //关闭执行
- preparedStatement.close();
- //关闭连接
- connection.close();
- //捕获异常
- }catch (ClassNotFoundException classNotFoundException){
- classNotFoundException.printStackTrace();
- }catch (SQLException sqlException){
- sqlException.printStackTrace();
-
- }