当前位置: 首页 > news >正文

浙江电信关于网站备案信息核实的公告品牌推广策划

浙江电信关于网站备案信息核实的公告,品牌推广策划,网站建设有哪些岗位,成立公司的好处目录 什么是JDBC: 为啥存在JDBC: JDBC工作原理: JDBC的优势: 下载mysql驱动包: 用java程序操作数据库 1.创建dataSource: 2.与服务端建立连接 3.构造sql语句 4.执行sql 5.关闭连接,释放资源 参考代码: 插…

目录

什么是JDBC:

为啥存在JDBC:

JDBC工作原理:

JDBC的优势:

下载mysql驱动包:

用java程序操作数据库

1.创建dataSource:

2.与服务端建立连接

3.构造sql语句

4.执行sql

5.关闭连接,释放资源

参考代码:

插入操作:

删除操作:

修改操作:

查询操作:

什么是JDBC:

jdbc:java datasource connectivity : java数据库连接

jdbc 是一种用于执行SQL语句的Java API,它是 Java中的数据库连接规范。

为啥存在JDBC:

当前的数据库有很多种,有mysql,Oracle,SQL server等.

客户端可能使用不同的数据库进行操作,不同的数据库对应不同的编译语言,提供了不同的数据库驱动包,如:MySQL提 供了Java的驱动包mysql-connector-java,需要基于Java操作MySQL即需要该驱动包。同样的, 要基于Java操作Oracle数据库则需要Oracle的数据库驱动包ojdbc。

这就带来了很多不便,更换数据库时,还要学习新的数据库的api,增加了使用成本。

JDBC就统一了数据库的连接规范,它为java开发人员提供了一套标准的api,可以为多种关系数据库统一访问。

JDBC工作原理:

JDBC 为多种关系数据库提供了统一访问方式,作为特定厂商数据库访问API的一种高级抽象,它主要包 含一些通用的接口类。

JDBC的优势:

1.java语言访问数据库操作完全是面向抽象接口编程。

2.开发数据库应用提供api不需要针对特定的api.

3.程序的可移植性大大增强。

下载mysql驱动包:

下载可以有多种方式,可以在中央仓库中下载:

https://mvnrepository.com/https://mvnrepository.com/

下载步骤:

1.搜索mysql:

2,选择下载版本

3.选择一个版本,点进去,点jar包下载

下载完成后,创建java项目,新建一个包(lib,名字随意),将下载好的驱动包粘贴到这个包中

将创建的包添加为库

准备工作完成,下面就可以通过java程序操作数据库了

用java程序操作数据库

1.创建dataSource:

创建数据源头,就是数据库所在的位置

DataSource是一个接口,MysqlDataSource是mysql驱动包中的,通过MysqlDataSource来实现。

设置数据库位置:

对dataSource使用,要向下转型: DataSource->MysqlDataSource,通过下载的驱动包来设置,

当然也可以直接使用MysqlDataSource来创建源头数据:

但这种方法会在代码中多次出现MysqlDataSource类,不利于提高代码的耦合性,还是建议使用第一种方法设置。

setUrl():URL:表示网络上资源的位置,也叫“网址”,mysql是一个客户端服务器结构的程序,需要通过网络进行交互。

JDBC:mysql : url是JDBC操作MySQL使用的;

127.0.0.1:IP地址,127.0.0.1是一个特殊的IP地址,“环回地址”,由于我们当前的数据库和java程序是在同一台机器上,因此就是将数据发送给自己,就要用环回地址。

3306:端口号,接收数据端的端口号;

java109:数据库名,在执行java代码时,提前创建好数据库和表;

:问号?后面的是一些访问资源时候用到的参数,设置字符集为utf8,useSSL表示是否要加密,在练习的时候设为false,(设为true很可能连不上数据库)。

setUser():mysql的默认用户 : root;

setPassword(): 在安装数据库的时候手动设置的数据库密码;

2.与服务端建立连接

Connection有很多包,注意要导入 java.sql包

这里有一个受查异常,要手动处理:

3.构造sql语句

执行插入数据操作

可以直接指定内容,也可以通过字符串拼接,通过控制台输入要插入的数据,

还可以通过? ,搭配setXXX,来手动输入要插入的数据,

第一个参数 是?的位置,第二个参数 是要传入的数据。

sql语句是字符串,通过prepareStatement()方法,先将sql语句进行解析检查,得到结构化数据,将结构化数据传送给数据库,数据库就无需再进行对sql语句进行处理了,这样操作能为数据库节省更多的时间,可以处理更多的客户端请求。

虽然sql语句能以字符串的形式传给数据库,但若sql存在语法问题等,传过去的sql就无法执行,影响执行效率;直接传sql语法也存在一定的风险,不安全,因为不确定sql中到底写的什么。

删除操作:

修改操作:

查询操作:

4.执行sql

增删改:

增删改都属于对数据库的写操作,使用的方法是executeUpdate(),返回值是操作影响到的行数,为int类型。

查询:

查询属于读操作,使用executeQuery()方法,返回的是一个结果集,

resultSet相当于在查询到的结果集中,有一个光标,最初指向第0行,当还有数据时,就依次向下遍历,ResultSet有getXXX方法,根据列的类型,可以获取到要查找的数据。

5.关闭连接,释放资源

关闭顺序是:先创建的后释放,后创建的先释放。

参考代码:

插入操作:


public class Deam01 {//插入数据public static void main(String[] args) throws SQLException {Scanner scan=new Scanner(System.in);System.out.println("请输入id:");int id = scan.nextInt();System.out.println("请输入姓名:");String name = scan.next();
//
//        MysqlDataSource mysqlDataSource=new MysqlDataSource();
//        mysqlDataSource.setUrl("jdbc:mysql://127.0.0.1:3306/java109?characterEncoding=utf8&useSSL=false");
//        mysqlDataSource.setUser("root");
//        mysqlDataSource.setPassword("root");//1.创建dataSourceDataSource dataSource=new MysqlDataSource();((MysqlDataSource)dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/java109?characterEncoding=utf8&useSSL=false");((MysqlDataSource)dataSource).setUser("root");((MysqlDataSource)dataSource).setPassword("root");//2.和数据库服务器建立连接Connection connection=dataSource.getConnection();//3.构造sql//插入操作//法一
//        String sql="insert into student values(1,'zhangsan')";//法二
//        String sql="insert into student values("+id+",'"+name+"')";//法三String sql="insert into student values(?,?)";PreparedStatement preparedStatement = connection.prepareStatement(sql);preparedStatement.setInt(1,id);preparedStatement.setString(2,name);//4.执行sqlint n = preparedStatement.executeUpdate();System.out.println("n= "+n);//5,关闭连接,释放资源preparedStatement.close();connection.close();}
}

删除操作:


public class Deam02 {public static void main(String[] args) throws SQLException {Scanner scan=new Scanner(System.in);System.out.println("请输入姓名:");String name = scan.next();//数据库删除数据//1.创建dataSourceDataSource dataSource=new MysqlDataSource();((MysqlDataSource)dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/java109?characterEncoding=utf8&useSSL=false");((MysqlDataSource)dataSource).setUser("root");((MysqlDataSource)dataSource).setPassword("root");//2.和服务器建立连接Connection connection=dataSource.getConnection();//3.构造sqlString sql="delete from student where namr=? ";PreparedStatement preparedStatement= connection.prepareStatement(sql);preparedStatement.setString(1,name);//4.执行sqlint n = preparedStatement.executeUpdate();System.out.println("n= "+n);//5.关闭连接,释放资源preparedStatement.close();connection.close();}
}

修改操作:


public class Deam07 {public static void main(String[] args) throws SQLException {Scanner scan=new Scanner(System.in);System.out.println("请输入修改的name:");String name = scan.next();System.out.println("请输入源id");int oldid=scan.nextInt();//1.DataSource dataSource = new MysqlDataSource();((MysqlDataSource)dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/java109?characterEncoding=utf8&useSSL=false");((MysqlDataSource)dataSource).setUser("root");((MysqlDataSource)dataSource).setPassword("root");//2.Connection connection = dataSource.getConnection();//3.修改sqlString sql="update student set name=? where id=?";PreparedStatement preparedStatement = connection.prepareStatement(sql);preparedStatement.setString(1,name);preparedStatement.setInt(2,oldid);//4int n = preparedStatement.executeUpdate();System.out.println("n= " +n);preparedStatement.close();connection.close();}
}

查询操作:


public class Deam03 {public static void main(String[] args) throws SQLException {//数据库 查询操作//1.创建源数据DataSource dataSource=new MysqlDataSource();((MysqlDataSource)dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/java109?characterEncoding=utf8&useSSL=false");((MysqlDataSource)dataSource).setUser("root");((MysqlDataSource)dataSource).setPassword("root");//2.和服务端建立连接Connection connection = dataSource.getConnection();//3.创建sqlString sql="select * from student";PreparedStatement prepareStatement= connection.prepareStatement(sql);//4.执行sqlResultSet resultSet = prepareStatement.executeQuery();while(resultSet.next()){int id=resultSet.getInt("id");String name=resultSet.getString("namr");System.out.println("id= "+id+" name= "+name);}//关闭资源resultSet.close();connection.close();prepareStatement.close();}
}

http://www.15wanjia.com/news/37890.html

相关文章:

  • 建设商城网站附近电商培训班
  • html设计素材网站营业推广是什么意思
  • 手机页面网站模板怎么卖网络营销技巧和营销方法
  • 美食网站建设的必要性百度健康人工客服电话24小时
  • 网站关键词优化外包织梦seo排名优化教程
  • 做网站什么职业html简单网页设计作品
  • 重庆建设机电有限公司网站网站推广网络营销方案
  • 虎门网站建设服务商推广普通话心得体会
  • 国外设计网站导航淘宝客推广平台
  • 新疆app开发公司网络优化报告
  • 网站搜索优化排名网站收录查询方法
  • 开发app外包公司化工网站关键词优化
  • 网站搜索优化怎么做seo网站首页推广
  • 竹妃怎么在公众号里做网站站长查询
  • 网站建设需求和页面需求怎么提西安百度快速排名提升
  • b2b电子商务网站有哪些模式网页推广平台
  • 费县做网站百度收录链接提交入口
  • bootstrap构建自己的网站游戏推广怎么做挣钱
  • 成都网站外包公司百度关键词排名点
  • 郑州专业做网站多少钱青岛seo服务
  • 重庆网站建设的价格低seo前线
  • 东莞松山湖网站建设常见的网站推广方式
  • 个性化定制网站的特点今日时事新闻
  • 上海建筑设计院工资莆田网站建设优化
  • 网易企业邮箱登入入口搜索引擎seo如何优化
  • wordpress音乐防刷新长沙seo霜天博客
  • 网站制作 台州排名公式
  • 找施工队伍去什么网站游戏推广引流
  • 做网站带吗网站首页快速收录
  • 公司网站建设一年多少钱河南网站建设哪家公司好