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

网站备案有什么风险网站和微信

网站备案有什么风险,网站和微信,网站建设费用请示,电子商务师是做什么的一.使用JDBC查询数据库表t_user的所有数据 1.User表 名称 数据类型 主键 是否为空 说明 ID number 是 用户编号 NAME Varchar2(50) 用户名 AGE varchar2(5) 用户年龄 BIRTH date 用户生日 PWD varchar2(20) 否 用户密码 import java.sql.Connection; import java.sql.Date; …一.使用JDBC查询数据库表t_user的所有数据 1.User表 名称 数据类型 主键 是否为空 说明 ID number 是 用户编号 NAME Varchar2(50) 用户名 AGE varchar2(5) 用户年龄 BIRTH date 用户生日 PWD varchar2(20) 否 用户密码 import java.sql.Connection; import java.sql.Date; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class JdbcMysqlTest { public static void main(String[] args) throws  ClassNotFoundException,SQLException { //1.加载jdbc驱动 Class.forName(com.mysql.jdbc.Driver); //2.定义连接url String url  jdbc:mysql://127.0.0.1:3306/neuedu; //3.获取数据库连接对象 Connection conn  DriverManager.getConnection(url,root,root); //4.获得statement对象用来执行sql语句并返回结果 Statement st  conn.createStatement(); //5.执行查询或更新 String sql  select id,name,age,birth from t_user; ResultSet rs  st.executeQuery(sql); //6.处理结果(遍历获取查询出来的所有数据) while(rs.next()){ int id  rs.getInt(id); String name  rs.getString(name); String age  rs.getString(age); Date birth  rs.getDate(birth); System.out.println(id:name:age:birth); } //7.关闭连接(释放资源 rs.close(); st.close(); conn.close();} } 程序运行结果如下 7:zhangsan:age:2015-09-01 8:lisi:24:2015-09-01 9:wangwu:25:2015-09-01 10:wang:23:2015-09-01 以上给大家粗略的介绍了一下JDBC中涉及到的常用相关类和接口每个类和接口包含的方法介绍的不是十分全面希望大家在后续的学习过程中能充分的利用Java API这个工具不断提升自己的学习能力。 二.DBUtil类 【例7-2】封装打开连接和关闭资源的DBUtil类。 通常无论是对数据进行查询操作还是进行增删改操作都需要打开连接关闭资源等操作因此可以把对把打开连接和关闭连接封装到一个工具类里。本章后面所有例子对数据访问所用连接都是一样的。下面的DBUtil类封装了打开连接和关闭连接方法。 import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class DBUtil { //该段代码完成加载数据库驱动整个程序只需要加载一次所以放在静态块中。static{try {Class.forName(com.mysql.jdbc.Driver);//oracle数据库驱动程序} catch (ClassNotFoundException e) {e.printStackTrace();}} //获取数据库连接方法public static Connection getConnection() throws SQLException{String url  jdbc:mysql://127.0.0.1:3306/neuedu;Connection conn  DriverManager.getConnection(url,root,root);return conn;} //释放资源public static void close(Statement st,Connection conn){try{if(st ! null){try {st.close();} catch (SQLException e) { e.printStackTrace();}}}finally{if(conn ! null){try {conn.close();} catch (SQLException e) {e.printStackTrace();}}} }public static void close(ResultSet rs, Statement st, Connection conn) {try {if (rs ! null) {try {rs.close();} catch (SQLException e) {e.printStackTrace();}}} finally {try {if (st ! null) {try {st.close();} catch (SQLException e) {e.printStackTrace();}}} finally {if (conn ! null) {try {conn.close();} catch (SQLException e) {e.printStackTrace();}}}}} } 使用DBUtil类操作数据库 【例7-3】使用DBUtil类操作数据库 import java.sql.Connection; import java.sql.Date; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.sql.Time; import java.sql.Timestamp; import java.text.SimpleDateFormat; public class UserDao { //查询t_user表中所有数据public static void query() throws ClassNotFoundException, SQLException{Connection conn  null;Statement st  null;ResultSet rs  null;try{conn  DBUtil.getConnection();//直接调用DBUtil类的获取数据库连接方法String sql  select id,name,age,birth from t_user;st  conn.createStatement();rs  st.executeQuery(sql);while(rs.next()){String id  rs.getString(1);String name  rs.getString(2);int age  rs.getInt(3);Timestamp ts rs.getTimestamp(birth);//对ts进行格式化SimpleDateFormat sdf  new SimpleDateFormat(yyyy年MM月dd日 HH:mm:ss);String birth  sdf.format(ts);System.out.println(id   $   name   $   age   $   birth);}}finally{DBUtil.close(rs, st, conn); //调用DBUtil方法释放资源。}} //在main()方法中调用查询操作。public static void main(String[] args) throws ClassNotFoundException, SQLException {query();} }运行结果分析 调用query()方法输出结果 7  z h a n g s a n zhangsan   zhangsan  23  2015 年 09 月 01 日  15 : 15 : 068 2015年09月01日 15:15:06 8   2015年09月01日 15:15:068  lisi  24 24   24  2015年09月01日 15:15:23 9  w a n g w u wangwu   wangwu  25  2015 年 09 月 01 日  15 : 15 : 5210 2015年09月01日 15:15:52 10   2015年09月01日 15:15:5210  hello1  500 500   500  2015年09月01日 15:16:03 三.PreparedStatement PreparedStatement对象表示预编译的 SQL 语句的对象为解决Statement静态拼接所产生的SQL 注入问题引入了PreparedStatement接口。PreparedStatement接口是Statement接口的子接口允许使用不同的参数多次执行同样的SQL语句。Connection接口提供创建PreparedStatement对象的方法可指定SQL语句 PreparedStatement prepareStatement(String sql) throws SQLException PreparedStatement对象继承了Statement但PreparedStatement语句中包含了警告预编译的SQL语句因此可以获得更高的执行效率。虽然使用Statement可以对数据库进行操作但它只适用于简单的SQL语句。如果需要执行带参数的SQL语句时我们必须利用PreparedStatement类对象。PreparedStatement对象用于执行带或不带输入参数的预编译的SQL语句语句中可以包含多个用问号””代表的字段在程序中可以利用setXxx()方法设置该字段的内容从而增强了程序设计的动态性。 PreparedStatement同Statement对象一样提供了很多基本的数据库操作方法下面列出了执行SQL命令的3种方法。 1ResultSet executeQuery():可以执行SQL查询并获取ResultSet对象 2int executeUpdate()可以执行Update /Insert/Delete操作返回值是执行该操作所影响的行数。 3boolean execute()这是一个最为一般的执行方法可以执行任意SQL语句然后获得一个布尔值表示是否返回ResultSet。 【例7-5】使用PreparedStatement解决例7-4中登录功能的SQL注入问题。 import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class SqlInject {public static void login(String name, String PWD) throws SQLException{Connection conn  null;PreparedStatement ps  null;ResultSet rs  null;try{conn  DBUtil.getConnection();String sql  SELECT * FROM t_user WHERE NAME? AND PWD?;ps  conn.prepareStatement(sql);//设置参数ps.setString(1, id);ps.setString(2, name);rs  ps.executeQuery();if(rs.next()){System.out.println(登录成功..);}else{System.out.println(登录失败..);}}finally{DBUtil.close(rs, ps, conn);}} public static void main(String[] args) throws SQLException {login(123123, sadfsdf or 11 or );//解决注入SQL } }利用PreparedStatement实现对用户表的增删改查操作。 【例7-6】利用PreparedStatement实现对用户表的增删改查操作。 import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException; import java.sql.Timestamp; import java.util.Date; public class UserDaoPreparedStatement {//插入操作public static void insert(String name, int age, Date birth)throws SQLException {Connection conn  null;PreparedStatement ps  null;try {conn  DBUtil.getConnection();String sql  insert into t_user values(seq_user.nextval,?,?,?);ps  conn.prepareStatement(sql);// 设置参数,有几个?就需要设置几个参数值ps.setString(1, name);ps.setInt(2, age);ps.setTimestamp(3, new Timestamp(birth.getTime()));int result  ps.executeUpdate();if (result  0) {System.out.println(insert 成功...);} else {System.out.println(insert 失败...);}} finally {DBUtil.close(ps, conn);}}public static void main(String[] args) throws SQLException {insert(hello, 234, new Date());} }
http://www.huolong8.cn/news/434263/

相关文章:

  • 网站建设推广合同书建筑工程信息查询
  • 龙岩网站建设论坛关于网站建设的小故事
  • 长春星宿网站建设公司怎么样平面设计培训学什么
  • 刷单类网站开发国内品牌备案建站
  • 哈尔滨网站公司抖音代运营的公司
  • 软件界面设计工具有哪些软件全达seo
  • 国际外贸网站推广织梦网站广告
  • 北京网站建设首选石榴汇湘潭做网站优化
  • 公司网站建设外包流程图如何打破违法网站
  • 打开百度网站建设建设门户网站的目的和意义
  • 网站建设属于哪种职位用什么软件做网站图片
  • 新手代理怎么找客源百度seo优化推广软件
  • 爱站网关键字挖掘东莞政务网站建设方案
  • 做衣服网站有哪些廊坊网站建设技术外包
  • 做网站如何获取收益广州外贸网站建设
  • 招聘网站大全58同城广州番禺区房价
  • 网站建设服务器的选择方案建设厅证件查询方式
  • 提升网站建设品质价位企业综合查询网站
  • 网站需求分析报告范文公众号官网登录
  • 网站动态图片如何做wordpress搜狗
  • 建筑人才招聘网站基层建设期刊在哪个网站被收录
  • 哪里有服务好的网站建设wordpress首页修改无效
  • 做网站简单还是app简单网站左侧漂浮代码
  • 网站建设维护内容企业网站排名技巧
  • 东莞最好的网站建设制作网页模板
  • 网站建设2000字论文wordpress 个人国内收款
  • 杭州模板开发建站南京seo顾问
  • 好网站建设因素成都网站建设天府科蓝
  • 旅游网站平台建设方案策划书外卖网站开发方案
  • html网站的直播怎么做建筑网入口