JDBC/XML的一些基本使用
一、知识点题目:JDBC核心API的使用
关键字:JDBC核心API
内容:
1)加载JDBC驱动:
Oracle:Class.forName(“oracle.jdbc.driver.OracleDriver”);
MYSQL:Class.forName(“com.mysql.jdbc.Driver”);
2)通过DriverManage获取连接:
Connection conn=
DriverManage.getConnection(String url,String username,String pwd);
其中url:
Oracle=jdbc:oracle:thin:@hostIP:port:databaseName
MYSQL=jdbc:mysql://hostIP:port/databaseName
3)通过Connection创建Statement对象
非预编译:
Statement stat=conn.createStatement();
预编译:
String sql=”select * from table where id=?”;
PreparedStatement stat=conn.PreparedStatement(sql);
4)执行SQL语句,获得结果
stat.setXxx(1,value);
stat.executeUpdate();
stat.execute();
ResultSet rs=stat.executeQurey();
5)获取结果集中的值
rs.next():判断集合里下一个是否有值
rs.getXxx(字段名)或rs.getInt(1)结果集每项第一列的值
6)关闭打开的对象
if(rs!=null){
rs.colse();
}
if(stat!=null){
stat.colse();
}
if(conn!=null){
conn.colse();
}
二、知识点题目:DBUtil工具类的编写
关键字:DBUtil
内容:以mysql实现为例:
方法:private static Connection getMConn()//用于获取连接对象的方法
1 先编写mysql.properties配置文件,用于配置连接所需的字段信息
内容以键值对的形式(key=value):
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/futao
jdbc.username=futao
jdbc.password=1234
2 创建对象来加载配置文件
Properties prop=new Properties();
prop.load(DBUtil.class.getClassLoader().getResourceAsStream("util/mysql.properties"));
3 根据Properties对象的getProperty(key)方法来获取相应的字段名
4 按照知识点一的方法获取连接对象并返回该对象
方法:public static Connection getMConnection()//以事务的方法返回连接对象,并且该对象始终只被一个线程所使用
1.ThreadLocal<Connection> connections=new ThreadLocal<Connection>();
用于存放当前线程所使用的连接对象
2. conn=getMConn();
connections.set(conn);
获取连接并把连接放入ThreadLocal用于当前线程使用
3.返回连接对象
方法:public static void closeConnection()//用户关闭当前线程所使用的连接对象
1.关闭conn连接
2.将ThreadLocal集合里设为null
方法:public static void beginTransaction()//用于启动事务
1.获取当前线程的连接
2.conn.setAutoCommit(false);关闭事务的自动提交
方法:public static void commitTransaction()//用于事务的提交
1.获取当前线程的连接
2.conn.commit();提交事务
3.关闭连接
方法:public static void rollbackTransaction()//用于回滚事务
1.获取当前线程连接
2.conn.rollback();回滚事务
3.关闭连接
三、知识点题目:用于返回类的实例的工厂方法
关键字:Factory 工厂方法
内容:
1.编写配置文件,将需要返回的对象的类与字段对应起来,以键值对的形式(key=value)
例:factory.preperties文件中写入
IAccountDAO=implement.AccountDAOImpl
IStockDAO=implement.StockDAOImpl
2.通过Properties对象加载配置文件
3.方法:public static Object getInstance(String type)//根据type指定的字段在配置文件中匹配并返回相应类的对象
1)获取type对应的value值
2)通过反射Class c=Class.forName(value);获取指定类的类对象
4.通过类对象的newInstance()方法创建一个该类的实例
5.将该实例返回
四、知识点题目:编写DAO的思路
关键字:DAO
内容:
1)根据业务编写实体类entity与数据库中的表一一对应
2)编写接口,定义一些操作数据库的方法
3)编写操作数据库的类实现接口,访问数据库,对数据库进行相关的操作
4)编写业务类,通过调用一系列操作数据的类的方法来实现具体的业务
小结:以上具体表现了在开发中将数据层、业务层等进行分离的开发方法.提高代码的可维护性,减少耦合,是MVC模式的基础
五、知识点题目:DOM4J核心API的使用
关键字:DOM4J XML
内容:
1)向XML中写内容:以Point类为例
1.在内存中创造一棵树
Document doc=DocumentHelper.createDocument();
2.为树添加一个根节点
Element root=doc.addElement("point");
3.在根节点下,为树添加子节点
Element xElement=root.addElement("x");
Element yElement=root.addElement("y");
4.为子节点赋值
xElement.setText(point.getX());
yElement.setText(point.getY());
5.创建字节文件输出流
OutputStream ops=new FileOutputStream("d:/fu/point.xml");
6.可以设置XML写内容时的对齐排版格式
OutputFormat format=OutputFormat.createPrettyPrint();
为带换行的标准格式
7.将内存中树的数据输出到流指定的文件
XMLWriter writer=new XMLWriter(ops);
writer.write(doc);
8.关闭输出流
注:除了在根节点下添加叶子节点外还可以:
A.添加属性root.addAttribute("type", cus.getType());
B.添加CDATA:root.addCDATA(xxx);
等内容.
2)向XML文件中读内容
1.创建字节文件输入流
InputStream ips=new FileInputStream("d:/fu/point.xml");
2.创建读取XML的类
SAXReader reader=new SAXReader();
Document doc=reader.read(ips);
3.获取根节点
Element root=doc.getRootElement();
4.获取属性的值
String type=root.attributeValue("type");
5.获取子节点的值
String x=root.elementText("x");
String y=root.elementText(“y");
6.关闭输入流
JDBC/XML的一些基本使用的更多相关文章
- Java知识总结--JDBC&XML
1说说jdbc连接数据库的步骤 1.注册驱动 2.获得连接 3.执行sql语句 4.获得结果集,进行结果集的处理 5.关闭结果集 6.关闭连接,释放资源 2 statement 和preparedst ...
- JDBC+XML+DOM4J
利用xml文件封装数据库配置信息xml文件放在src目录下/testjdbc1/src/DBUtil.xml <?xml version="1.0" encoding=&qu ...
- Spring学习记录(十四)---JDBC基本操作
先看一些定义: 在Spring JDBC模块中,所有的类可以被分到四个单独的包:1.core即核心包,它包含了JDBC的核心功能.此包内有很多重要的类,包括:JdbcTemplate类.SimpleJ ...
- Spring4:JDBC
数据库连接池 对一个简单的数据库应用,由于对数据库的访问不是很频繁,这时可以简单地在需要访问数据库时,就新创建一个连接,就完后就关闭它,这样做也不会带来什么性能上的开销.但是对于一个复杂的数据库应用, ...
- Crystal Reports 2008(水晶报表) JDBC连接mysql数据库
在本blog中,主要介绍的是Crystal Reports 2008使用JDBC连接mysql数据库. 在连接之间,首先要确认你电脑上面都安装了mysql数据库. 其次,就是jdbc连接数据时候所使用 ...
- Spring入门(10)-Spring JDBC
Spring入门(10)-Spring JDBC 0. 目录 JdbcTemplate介绍 JdbcTemplate常见方法 代码示例 参考资料 1. JdbcTemplate介绍 JdbcTempl ...
- spring的beans.xml的配置
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...
- spring + jdbc + extjs configuration
所有源代码能够訪问我的GitHub 有空没空的稻谷了几天,最终前后台跑通了,提供一套可用的配置文件. (因为与extjs整合,spring security的登录须要重写原handler.会在后面补上 ...
- Java面试题精选(二)线程编程、数据库理论和Jdbc部分
—— 线程编程.数据库理论和Jdbc部分内容 —— 数据库的开发应用想必是我们日常所碰到最多的知识点了,大致可分为:oracle.MySQL.SQL Server.Hadoop. NoSQL. ...
随机推荐
- 认识axure组件区域
组件区域也叫做部件区域,英文为widgets,还有人称之为控件区域,组件是axure事先准备好的网站项目常用的零件,比如一些基本的页面元素 Axure默认存在2个组件库,分别为线框图和流程图.同时我们 ...
- Boost::asio io_service 实现分析
io_service的作用 io_servie 实现了一个任务队列,这里的任务就是void(void)的函数.Io_servie最常用的两个接口是post和run,post向任务队列中投递任务,run ...
- PB+MS SQL+触发器必须指出
PB+MS SQL+触发器必须指出: 若触发器存在两笔以上的返回值,比方两条update 语句,被误判为数据有改变.存盘不成功. 提示: Row changed between retrieve an ...
- MFC自绘控件学习总结第二贴
首先感谢大家对第一帖的支持,应一些网友烈要求下面我在关于上一贴的一些补充和说明(老鸟可以无视)这一贴是实战+理论不知道第一帖的先看第一帖:http://topic.csdn.net/u/2011071 ...
- 中国本土管理咨询公司排名TOP50
中国本土管理咨询公司排名TOP50 1. 北京正略钧策管理顾问有限公司 2. 北京和君咨询公司 3. 北大纵横管理咨询公司 4. 远卓管理顾问公司 5. AMT管理咨询公司 6. 华夏基石管理咨询有限 ...
- 别动我的奶酪:CSV文件数据丢零现象及对策
CSV文件在读入EXCEL时,对于前面有零的数据项,比如电话号码,会自作聪明地丢掉那个零. 比如,我有一个北京客户,其号码为01059178888,如果这是通过CSV文件来的数据,在EXCEL中打开时 ...
- 【Visual C++】Windows GDI贴图闪烁解决方法
一般的windows 复杂的界面需要使用多层窗口而且要用贴图来美化,所以不可避免在窗口移动或者改变大小的时候出现闪烁. 先来谈谈闪烁产生的原因 原因一:如果熟悉显卡原理的话,调用GDI函数向屏幕输出的 ...
- Lucene.Net 2.3.1开发介绍 —— 三、索引(一)
原文:Lucene.Net 2.3.1开发介绍 -- 三.索引(一) 在说索引之前,先说说索引是什么?为什么要索引?怎么索引? 先想想看,假如现在有一个文本,我们会怎么去搜索.比如,有一个string ...
- java开发异常类型汇总
1. java.lang.nullpointerexception 这个异常大家肯定都经常遇到,异常的解释是"程序遇上了空指针",简单地说就是调用了未经初始化的对象或者是不存在的对 ...
- java中synchronized的使用方法与具体解释
Java语言的keyword.当它用来修饰一个方法或者一个代码块的时候,可以保证在同一时刻最多仅仅有一个线程运行该段代码. 一.当两个并发线程訪问同一个对象object中的这个synchronized ...