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

浙江电信关于网站备案信息核实的公告青岛seo关键词排名

浙江电信关于网站备案信息核实的公告,青岛seo关键词排名,全国网站建设公司,网站设计风格化目录 什么是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.ds6.com.cn/news/20547.html

相关文章:

  • 西安网站快速备案如何做好网站的推广工作
  • 济南网站制作软件佛山网站建设模板
  • 展示形网站开发西安seo王尘宇
  • 山西省网站建设制作免费培训课程
  • 郑州做网站那家好考证培训机构报名网站
  • 延庆网站建设怎么提高百度关键词排名
  • 苏州建网站制作费用多少钱cps推广是什么意思
  • 对于网站建设提出建议电商平台发展现状与趋势
  • 郑州做网站排名贵州百度seo整站优化
  • 网站营销建设长沙百度快速优化
  • 泗阳县建设局网站百度下载官网
  • 如何上传自己的做的网站sem推广
  • 如何做360网站的排名廊坊自动seo
  • 115做网站淘宝关键词排名查询网站
  • 怎么做电影网站教程seo搜索引擎优化平台
  • 图片素材网站模板aso优化教程
  • 沈阳网站建设公司企业网站代运营
  • 网站界面设计内容链接搜索
  • 政府门户网站流行设计友情链接平台网站
  • seo统计网络优化app哪个好
  • 易营宝智能建站平台网络营销代运营外包公司
  • 用angular做的网站百度网页版链接地址
  • wordpress内链插件杭州seo网站推广
  • 上海行业网站建设百度注册入口
  • 云顶科技做网站的seo技术服务外包公司
  • 计算机怎么建设网站今天的特大新闻有哪些
  • 建网站做商城个体户资质可以网址链接查询
  • 做商城网站的公司开创集团与百度
  • 北京网站备案在哪适合成人参加的培训班
  • ui设计师的网站网站推广线上推广