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

网络公司 开发网站网站创建app

网络公司 开发网站,网站创建app,温州快速排名优化,有保障的无锡网站制作JDBC(重点) 数据库驱动 程序会通过数据库驱动#xff0c;和数据库打交道。 sun公司为了简化开发人员对数据库的统一操作#xff0c;提供了一个Java操作数据库的规范。这个规范由具体的厂商去完成。对应开发人员来说#xff0c;只需要掌握JDBC接口。 熟悉java.sql与javax.s…JDBC(重点) 数据库驱动 程序会通过数据库驱动和数据库打交道。 sun公司为了简化开发人员对数据库的统一操作提供了一个Java操作数据库的规范。这个规范由具体的厂商去完成。对应开发人员来说只需要掌握JDBC接口。 熟悉java.sql与javax.sql包导入一个数据库驱动包 1.在数据库中提前创建users表准备连接jdbc 2.查询数据库版本下载对应jar包。 3.将jar包导入项目。 4.导入jar后需要添加到库里面。如下操作 5.不需要更改信息直接点击ok。 6.创建项目连接数据库 加载驱动提供用户信息与url 连接地址ssl连接关闭字符集为utf-8时区设置                 连接数据库DriverManager 执行SQL对象 Statement对象使用sql语言执行sql对象释放连接 //加载驱动Class.forName(com.mysql.cj.jdbc.Driver);//固定写法//用户信息和url,url基本格式如下://连接地址ssl连接关闭字符集为utf-8时区设置String urljdbc:mysql://localhost:3306/learndb?useUnicodetruecharacterEncodingutf8useSSLfalseserverTimezoneGMT%2B8;String usernameroot;String password123456;//连接成功会返回数据库对象 Connection代表数据库Connection connection DriverManager.getConnection(url, username, password);//执行SQL的对象 StatementStatement statement connection.createStatement();//执行SQL的对象去执行SQl,可能存在结构查看返回结果String sqlSELECT * from users;ResultSet resultSet statement.executeQuery(sql);//返回的结果集,结果集中封装了我们全部的查询结果while (resultSet.next()){System.out.println(idresultSet.getObject(id));System.out.println(nameresultSet.getObject(name));System.out.println(pwdresultSet.getObject(password));System.out.println(emailresultSet.getObject(email));System.out.println(birthresultSet.getObject(birthday));}//释放连接resultSet.close();statement.close();connection.close();} JDBC对象分析 DriverManger //加载驱动法一 DriverManager.registerDriver(new com.mysql.cj.jdbc.Driver()); //法二 Class.forName(com.mysql.cj.jdbc.Driver);        //固定写法 //connection是数据库 //数据库设置为自动提交、事务提交、事务回滚 connection.rollback(); connection.commit(); connection.setAutoCommit(); URL mysql默认 端口号为3306url写法 jdbc://mysql:/主机地址:端口号/数据库名参数1参数2参数3 String urljdbc:mysql://localhost:3306/learndb?useUnicodetruecharacterEncodingutf8useSSLfalseserverTimezoneGMT%2B8; Statement  执行类执行SQL的对象 //编写SQL String sqlSELECT * from users; //可执行的方法 statement.executeQuery();        //执行查询返回一个结果集 statement.execute()        //执行任何SQL statement.executeUpdate()        //执行更新、插入、删除返回一个受影响的行数 ResultSet查询结果集封装了所有的查询结果 获得指定的数据类型 resultSet.getObject();        //在不知道列类型的情况下使用 resultSet.getstring();        //如果知道列的类型就使用指定的类 resultSet.getInt(); resultSet.getFloat(); resultSet.getDate(); resultSet.getObject(); 遍历、指针 resultSet.beforeFirst();        //移动到最前面 resultSet.afterLast();        //移动到最后面 resultSet.next();                //移动到下一个数据 resultSet.previous();        //移动到前一行 resultSet.absolute();        //移动到指定行 释放资源 resultSet.close(); statement.close(); connection.close();        //耗资源、用完即关 statement对象 jdbc中的statement对象用于向数据库发送SQL语句想完成对数据库的增删查改只需要通过这个对象想数据库发送增删改查语句即可。 Statement对象的executeUpdate方法用于向数据库发送增、删、改的sql语句executeUpdate执行完后将回返回一个整数即增删改语句导致了数据库几行是数据发生了变化。 Statement.excuteQuery方法用于向数据库发送查询语句executeQuery方法返回代表查询结果的ResultSet对象。 前提 在src目录下创建资源文件在该文件内部填写数据库用户信息与url等资源信息。 创建一个工具类,完成加载驱动、连接数据库、释放资源等作用。 //工具类 public class JdbcUtils {//提升作用域private static String drivernull;private static String urlnull;private static String usernamenull;private static String passwordnull;static {try{//通过反射获得具体的资源。getResourceAsStream(db.properties)从该文件获得资源//读取信息InputStream in JdbcUtils.class.getClassLoader().getResourceAsStream(db.properties);Properties properties new Properties();properties.load(in);//获取具体的资源driverproperties.getProperty(driver);urlproperties.getProperty(url);usernameproperties.getProperty(username);passwordproperties.getProperty(password);//驱动只用加载一次Class.forName(driver);} catch (Exception e) {e.printStackTrace();}}//获取连接的方法public static Connection getConnection() throws SQLException {return DriverManager.getConnection(url,username,password);}//释放连接资源的方法public static void release(Connection conn, Statement st, ResultSet rs){if (rs!null){try {rs.close();} catch (SQLException throwables) {throwables.printStackTrace();}}if (st!null){try {st.close();} catch (SQLException throwables) {throwables.printStackTrace();}}if (conn!null){try {conn.close();} catch (SQLException throwables) {throwables.printStackTrace();}}} }代码详解 1.获取资源、加载驱动、连接数据库 增删改的方法都用executeUpdate 插入数据 //插入数据 public class TestInsert {public static void main(String[] args) {//提升作用域Connection connnull;Statement stnull;ResultSet rsnull;try {conn JdbcUtils.getConnection();//获取数据库连接stconn.createStatement();//获取sql的执行对象String sqlinsert into users(id,name,password,email,birthday) values(4,serenity,123456,4563qq.com,2020-01-01);int ist.executeUpdate(sql);//执行sql代码完成更新表返回的结果为受影响的行数if (i0){System.out.println(插入成功);}} catch (SQLException throwables) {throwables.printStackTrace();}finally {JdbcUtils.release(conn,st,rs);//调用工具类释放资源}} } 插入成功标志 删除数据 主要是更改sql代码 //删除数据 public class TestDelete {public static void main(String[] args) {//提升作用域Connection connnull;Statement stnull;ResultSet rsnull;try {conn JdbcUtils.getConnection();//获取数据库连接stconn.createStatement();//获取sql的执行对象String sqlDELETE FROM users where id4;int ist.executeUpdate(sql);//执行sql代码完成更新表返回的结果为受影响的行数if (i0){System.out.println(删除成功);}} catch (SQLException throwables) {throwables.printStackTrace();}finally {JdbcUtils.release(conn,st,rs);//调用工具类释放资源}} } 更改数据 查看数据:利用executeQuery PrepareStatement对象 PrepareStatement可以防止SQL注入效率更好。把传递进来的参数当做字符 假设参数中存在转义字符如引号会被直接转义。 新增 删除 更新 查询 idea连接数据库 若未成功可修改版本。 连接上数据库后 选择数据库后可双击打开数据库表中查看信息。 事务 要么都成功要么都失败 ACID原则 原子性要么全部完成要么都不完成一致性总数不变隔离性多个进程互不干扰持久性一旦提交不可逆持久化到数据库 隔离性的问题 脏读一个事务读取另一个没有提交的事务 不可重复读在同一个事务内重复读取表中的数据表数据发生了改变 虚读幻读在一个事务内读取到了别人插入的数据导致前后读出来结果不一致 前提 模拟事务A给B转账 public class TestTransation01 {public static void main(String[] args) {Connection connnull;PreparedStatement stnull;ResultSet rsnull;try {//加载驱动conn JdbcUtils.getConnection();//关闭数据库的自动提交自动会开启事务conn.setAutoCommit(false);//开启事务//模拟A给B转账String sql1update account set moneymoney-100 where nameA;stconn.prepareStatement(sql1);st.executeUpdate();String sql2update account set moneymoney100 where nameB;stconn.prepareStatement(sql2);st.executeUpdate();//业务完毕提交事务conn.commit();System.out.println(成功);} catch (SQLException throwables) {try {conn.rollback();//如果失败则回滚事务} catch (SQLException e) {e.printStackTrace();}throwables.printStackTrace();}finally {//释放资源JdbcUtils.release(conn,st,rs);}} }代码解释 模拟事务A与B转账出现异常
http://www.hkea.cn/news/14506151/

相关文章:

  • 做一份seo网站诊断如何制作外贸网站
  • 金山区网站建设建设网站公司挖掘挖掘工具
  • 做损坏文档的网站建网站卖阀门
  • 怎样在建设部网站下载规范个人网站做淘宝客犯法吗
  • 新网站应该怎么做合肥建设网站
  • 邯郸网站建设外包建站之星好不好
  • 山西省煤炭基本建设局网站寺庙网站开发策划书
  • 遵义网站建设制作公司初中毕业生怎么自考大专
  • 手机 写wordpress关键词优化的发展趋势
  • 群晖wordpress建站教程欢迎进入18入口1
  • 宁波做企业网站公司南京企业网站开发
  • 网站 被攻击_主业篡改 被黑了 织梦做的站如何用wordpress查看搭建的站点
  • 电子商务网站建设对毕业设计吉林省建设厅价格信息网站
  • 中国建设银行个人网上银行网站系统网站怎么做的
  • 中国建设银行河北省门户网站关闭网站弹窗代码
  • 长春网站建设q479185700強外贸移动商城网站建设
  • 企业网站的视频页如何做免费ai图片生成器
  • ai写作网站wordpress商品主题
  • 二维码生成器联图网站排名优化服务公司
  • 网站运营工作内容做网站维护挣钱吗
  • 空间怎么上传网站建设公司加盟
  • 网站服务器搭建的步骤常州高端网站建设公司
  • 柳州企业网站开发公司网站建设板块免费下载
  • 美食网站界面设计公司建设网站的好处
  • 建设六马路小学 网站亳州做网站
  • 河南住房和城乡建设部网站海外推广引流
  • 营销广告网站门户网站都有哪些
  • 网站建设对我有什么好处做二手家具回收哪个网站好
  • 旅游网站设计说明书网络服务提供者的下列行为可以免责的是
  • 做备案的网站网上购物网站开发报价