原文: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的一些基本使用的更多相关文章

  1. Java知识总结--JDBC&XML

    1说说jdbc连接数据库的步骤 1.注册驱动 2.获得连接 3.执行sql语句 4.获得结果集,进行结果集的处理 5.关闭结果集 6.关闭连接,释放资源 2 statement 和preparedst ...

  2. JDBC+XML+DOM4J

    利用xml文件封装数据库配置信息xml文件放在src目录下/testjdbc1/src/DBUtil.xml <?xml version="1.0" encoding=&qu ...

  3. Spring学习记录(十四)---JDBC基本操作

    先看一些定义: 在Spring JDBC模块中,所有的类可以被分到四个单独的包:1.core即核心包,它包含了JDBC的核心功能.此包内有很多重要的类,包括:JdbcTemplate类.SimpleJ ...

  4. Spring4:JDBC

    数据库连接池 对一个简单的数据库应用,由于对数据库的访问不是很频繁,这时可以简单地在需要访问数据库时,就新创建一个连接,就完后就关闭它,这样做也不会带来什么性能上的开销.但是对于一个复杂的数据库应用, ...

  5. Crystal Reports 2008(水晶报表) JDBC连接mysql数据库

    在本blog中,主要介绍的是Crystal Reports 2008使用JDBC连接mysql数据库. 在连接之间,首先要确认你电脑上面都安装了mysql数据库. 其次,就是jdbc连接数据时候所使用 ...

  6. Spring入门(10)-Spring JDBC

    Spring入门(10)-Spring JDBC 0. 目录 JdbcTemplate介绍 JdbcTemplate常见方法 代码示例 参考资料 1. JdbcTemplate介绍 JdbcTempl ...

  7. spring的beans.xml的配置

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...

  8. spring + jdbc + extjs configuration

    所有源代码能够訪问我的GitHub 有空没空的稻谷了几天,最终前后台跑通了,提供一套可用的配置文件. (因为与extjs整合,spring security的登录须要重写原handler.会在后面补上 ...

  9. Java面试题精选(二)线程编程、数据库理论和Jdbc部分

    —— 线程编程.数据库理论和Jdbc部分内容 ——     数据库的开发应用想必是我们日常所碰到最多的知识点了,大致可分为:oracle.MySQL.SQL Server.Hadoop. NoSQL. ...

随机推荐

  1. 自定义navigationBar的高度

    原来看过一些解决办法,都不太好,最近解决自定义 tab bar的高度的问题,从中受到启发,找到下面的解决办法. 个人觉得和网上找到的其它方法比还是很简洁的. 关键是要调整navBarTransitio ...

  2. 创建webservice 用service.xml配置(复杂点的方法)

    用Axis2实现Web Service,虽然可以将POJO类放在axis2/WEB-INF/pojo目录中直接发布成Web Service,这样做不需要进行任何配置,但这些POJO类不能在任何包中.这 ...

  3. 【小白的java成长系列】——javakeyword

    准备出一个系列的内容啦,今天就从keyword開始说起吧~ 类型 keyword 说明 keyword 说明 訪问控制权限 public 公共的.公开的. protected 受保护的.用来修饰属性或 ...

  4. AssertValid函数学�

    转自http://tsitao.blog.163.com/blog/static/29795822006914105840496/ VC的调试中,AssertValid和Dump函数的应用 CObje ...

  5. 5大AR应用窥探移动未来~你见过吗?

    摘要:随着可穿戴设备的不断升温,尤其是Google Glass的出现,让AR技术再次走进我们的视线.以下尾随DevStore小编看看这5款优秀的AR应用,有木有闪到你的眼~ 眼下移动开发人员可选的AR ...

  6. Delphi与Vista提供的UAC控制(1-代表资源编号,24-资源类型为RTMAINIFEST,最后用brcc32编译成资源文件)

    Vista提供的UAC机制,是Vista的新增功能之一.它的主要目的是防止对于操作系统本身的恶意修 改.如果想对于Vista的 系统设置进行改动,必须通过UAC的验 证才能够进行.通过这样的手段,大大 ...

  7. Blackboard - 百度百科

    http://wapbaike.baidu.com/view/1969844.htm?ssid=0&from=844b&uid=0&pu=sz%401320_1001%2Cta ...

  8. Database Connection Pool Library | Libzdb

    Database Connection Pool Library | Libzdb A small, easy to use Open Source Database Connection Pool ...

  9. “聊天剽窃手”--ptrace进程注入型病毒

    近日,百度安全实验室发现了一款"聊天剽窃手"病毒.该病毒可以通过ptrace方式注入恶意代码至QQ.微信程序进程.恶意代码可以实时监控手机QQ.微信的聊天内容及联系人信息. 该病毒 ...

  10. C++开源代码项目汇总

    Google的C++开源代码项目 v8  -  V8 JavaScript EngineV8 是 Google 的开源 JavaScript 引擎.V8 采用 C++ 编写,可在谷歌浏览器(来自 Go ...