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

h5个人网站模板源码沈阳seo技术

h5个人网站模板源码,沈阳seo技术,wordpress word,怎么做php登陆网站一.使用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   20150901日 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   20150901日 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种方法。
(1)ResultSet executeQuery():可以执行SQL查询并获取ResultSet对象
(2)int executeUpdate():可以执行Update /Insert/Delete操作,返回值是执行该操作所影响的行数。
(3)boolean 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 1=1 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.wooajung.com/news/27924.html

相关文章:

  • 做服装要看国外哪些网站免费推广软件工具
  • 门户网站怎么开发微信引流获客软件
  • 替别人做网站管理员东莞网站推广策划
  • 阿里云做外贸网站浙江疫情最新消息
  • 做的好的营销型网站有哪些项目营销推广方案
  • 网页制作教程电子书惠州百度seo在哪
  • 网页制作怎么做多个网站环球网今日疫情消息
  • 老外做摄影网站花多少钱海外推广解决方案
  • 网页微博怎么回到旧版梅州seo
  • 红色旅游网站页面建设网络推广专员岗位职责
  • 给个网站靠谱点2021免费推广平台有哪些
  • 沧州做网站哪家公司好seo搜索引擎排名优化
  • 法律网站建设价格百度seo竞价推广是什么
  • 工程建设招标中心网站百度关键词批量看排名工具
  • 网站做cdnseoaoo
  • 德阳建设厅官方网站友情链接怎么设置
  • 17一起做网店网站潮汕网页设计软件
  • 如何通审查元素做网站汕头seo优化
  • 深圳做棋牌网站建设哪家好推广普通话内容50字
  • 导航网站怎么做的搜索引擎优化策略包括
  • 响应式网站用什么做独立站seo建站系统
  • 外包加工网注册收费靠谱吗百度seo关键词优化方案
  • 中山高端网站建设价格微博指数
  • 可以做短信炸弹的网站seo平台优化
  • 专业做微视频的网站360营销
  • 如何给公司注册网站竞价账户托管公司
  • 做医院网站公司怎么买域名自己做网站
  • phicomm怎么做网站重庆网站排名提升
  • 虎门公司网站建设百度关键词优化多少钱一年
  • qq整人网站怎么做网络销售的工作内容