hibernate01ORM的引入
package cn.bdqn.bean; public class Dept { private Integer deptno;
private String dname;
private String loc;
public Dept(Integer deptNo, String dname, String loc) {
super();
this.deptno = deptNo;
this.dname = dname;
this.loc = loc;
}
public Dept() {
super();
}
public Integer getDeptno() {
return deptno;
}
public void setDeptno(Integer deptNo) {
this.deptno = deptNo;
}
public String getDname() {
return dname;
}
public void setDname(String dname) {
this.dname = dname;
}
public String getLoc() {
return loc;
}
public void setLoc(String loc) {
this.loc = loc;
}
@Override
public String toString() {
return "Dept [deptNo=" + deptno + ", dname=" + dname + ", loc=" + loc
+ "]";
} }
package cn.bdqn.test; import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException; import cn.bdqn.bean.Dept; public class JDBCTest { public static void main(String[] args) { /**
* 获取数据库连接的4要素
* 01.url
* 02.driverClass
* 03.userName
* 04.password
*/
String driver="oracle.jdbc.driver.OracleDriver";
String url="jdbc:oracle:thin:@127.0.0.1:1521:orcl";
String userName="t10";
String password="t10";
/**
* 创建jdbc需要的API
*/
Connection connection=null;
PreparedStatement ps=null;
ResultSet rs=null; try {
Class.forName(driver); //加载驱动
connection= DriverManager.getConnection(url, userName, password);//获取连接
String sql="select * from dept where deptno=?"; //书写sql语句
ps=connection.prepareStatement(sql); //实例化ps对象
ps.setInt(1, 30);//给参数赋值
rs=ps.executeQuery(); //获取查询的结果集 while(rs.next()){
int deptno=rs.getInt("deptno");
String dName=rs.getString("dname");
String loc=rs.getString("loc");
Dept dept=new Dept(deptno, dName, loc);
System.out.println(dept);
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}finally{
try {
//释放资源
rs.close();
ps.close();
connection.close();
} catch (SQLException e) {
e.printStackTrace();
} } } }
package cn.bdqn.test; import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException; import cn.bdqn.bean.Dept; public class ORMTest { /**
* 元数据:
* Student
* age
* name
* address
* 这些属性都是用来描述Student对象特征的! 描述数据的数据就是元数据!
*
*/ public static void main(String[] args) throws Exception, IllegalAccessException, ClassNotFoundException { //我们所写的实体类
String className="cn.bdqn.bean.Dept";
//通过反射获取这个类的实例
Object object=Class.forName(className).newInstance(); String driver="oracle.jdbc.driver.OracleDriver";
String url="jdbc:oracle:thin:@127.0.0.1:1521:orcl";
String userName="t10";
String password="t10";
/**
* 创建jdbc需要的API
*/
Connection connection=null;
PreparedStatement ps=null;
ResultSet rs=null; try {
Class.forName(driver); //加载驱动
connection= DriverManager.getConnection(url, userName, password);//获取连接
String sql="select * from dept where deptno=?"; //书写sql语句
ps=connection.prepareStatement(sql); //实例化ps对象
ps.setInt(1, 20);//给参数赋值
rs=ps.executeQuery(); //获取查询的结果集
while(rs.next()){
//01.获取元数据的结果集
ResultSetMetaData data = rs.getMetaData();
//02.获取数据库中有多少字段
int count = data.getColumnCount();
//03.循环获取字段的名称和类型
for (int i = 1; i <=count; i++) {
String name= data.getColumnName(i); //字段名称
String type= data.getColumnTypeName(i); //字段类型 System.out.println(name+"====》"+type);
//给我一个字段名称 ,我给你返回一个set字段名 给类中的属性 赋值
String method=getMethod(name);
//04.判断 数据库中的字段类型 要和java中的数据类型相互匹配
if (type.equals("NUMBER")) {
object.getClass().getMethod(method, Integer.class)
.invoke(object, rs.getInt(name));
}else if(type.equals("VARCHAR2")){
object.getClass().getMethod(method, String.class)
.invoke(object, rs.getString(name));
}
}
Dept dept=(Dept) object;
System.out.println(dept); }
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}finally{
try {
//释放资源
rs.close();
ps.close();
connection.close();
} catch (SQLException e) {
e.printStackTrace();
} } } /**
*给我一个字段名称 ,我给你返回一个set字段名 给类中的属性 赋值
* @param name 字段名称
* @return setName()
*/
private static String getMethod(String name) {
return "set"+name.substring(0, 1).toUpperCase()+name.substring(1).toLowerCase();
} }
hibernate01ORM的引入的更多相关文章
- 谈谈DOMContentLoaded:Javascript中的domReady引入机制
一.扯淡部分 回想当年,在摆脱写页面时js全靠从各种DEMO中copy出来然后东拼西凑的幽暗岁月之后,毅然决然地打算放弃这种处处“拿来主义”的不正之风,然后开启通往高大上的“前端攻城狮”的飞升之旅.想 ...
- NGINX引入线程池 性能提升9倍
1. 引言 正如我们所知,NGINX采用了异步.事件驱动的方法来处理连接.这种处理方式无需(像使用传统架构的服务器一样)为每个请求创建额外的专用进程或者线程,而是在一个工作进程中处理多个连接和请求.为 ...
- Electron中Jquery的引入方式
原文链接http://huisky.com/blog/16122220522957 Electron默认启用了Node.js的require模块,而jQuery等新版本框架为了支持commondJS标 ...
- iOS引入JavaScriptCore引擎框架(二)
为何放弃第一种方案 UIWebView的JSContext获取 上篇中,我们通过简单的kvc获取UIWebVIew的JSContext,但是实际上,apple并未给开发者提供访问UIWebVi ...
- iOS引入JavaScriptCore引擎框架(一)
JavaScriptCore引擎 我们都知道WebKit是个渲染引擎,简单来说负责页面的布局,绘制以及层的合成,但是WebKit工程中不仅仅有关于渲染相关的逻辑,也集成了默认的javascri ...
- C++01.类的引入
1.假设我们要输出张三,李四两个人的基本信息,包括姓名,年龄,可以用以下的C程序实现: eg: #include <stdio.h> int main(int argc,char **ar ...
- Highchart插件简介和引入方式
一.Highchart简介: Highcharts 是一个用纯 JavaScript 编写的一个图表库, 能够很简单便捷的在 Web 网站或是 Web 应用程序添加有交互性的图表. Highchart ...
- 当没有用 EXISTS 引入子查询时,在选择列表中只能指定一个表达式。
当没有用 EXISTS 引入子查询时,在选择列表中只能指定一个表达式.比如 select * from T_Employee where FNumber not in ( select top 5* ...
- JavaScript模板引擎artTemplate.js——引入子模板
之前的例子都是单一结构的对象,如果遇到复杂对象结构,我们可以通过引入子模板来实现html的渲染. 依旧以之前的数据作为例子: <div id="content">< ...
随机推荐
- PS纯手式打造不规则颜色的规则方块—学习教程
- wariging for you oh~
- Shell test命令
Shell中的 test 命令用于检查某个条件是否成立,它可以进行数值.字符和文件三个方面的测试. 数值测试 参数 说明 -eq 等于则为真 -ne 不等于则为真 -gt 大于则为真 -ge 大于等于 ...
- SQL Server 2008连接字符串写法大全(摘自网络)
一..NET Framework Data Provider for SQL Server 类型:.NET Framework类库使用:System.Data.SqlClient.SqlConnect ...
- Bootstrap_排版_标题
Bootstrap和普通的HTML页面一样,定义标题都是使用标签<h1>到<h6>,只不过Bootstrap覆盖了其默认的样式,使用其在所有浏览器下显示的效果一样,具体定义的规 ...
- 【行为型】Observer模式
观察者模式意图解决一对多的依赖关系情形中,当被依赖对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新的问题.举个很简单的例子说,假如一个游戏中的角色的某个属性状态发生了变化,此处不妨假设为 ...
- 文成小盆友python-num7 -常用模块补充 ,python 牛逼的面相对象
本篇内容: 常用模块的补充 python面相对象 一.常用模块补充 1.configparser模块 configparser 用于处理特定格式的文件,起内部是调用open()来实现的,他的使用场景是 ...
- 直接插入排序(Straight Insertion Sort)的C语言实现
原创文章,转载请注明来自钢铁侠Mac博客http://www.cnblogs.com/gangtiexia 直接插入排序(Straight Insertion Sort)的基本思想是将新记录插入到 ...
- 防止SQL注入攻击,数据库操作类
如果不规避,在黑窗口里面输入内容时利用拼接语句可以对数据进行攻击 如:输入Code值 p001' union select * from Info where '1'='1 //这样可以查询到所有数据 ...
- Java获取ip地址的几种方法
以下内容介绍下java获取ip地址的几种思路. 1.直接利用java.net.InetAddress类获取,不过这种方法只在windows环境下有效,在linux环境下只能获取localhost地址( ...