bundle开发----数据库访问(基于MySQL)
来源:互联网 发布:听不懂程序员说的话 编辑:程序博客网 时间:2024/05/20 08:24
看完基于串口和Socket的bundle实现,本文中我们来看看bundle中如何实现数据库的访问。
先来看看DatabaseBundle.java(数据库使用的是MySQL,并且已经创建了一个名为demo_db的数据库和一个名为user_table的表用来保存用户名和密码)
- package demo.database.bundle;
- import java.sql.*;
- public class DatabaseBundle {
- protected static Connection con = null;
- static String driver = "com.mysql.jdbc.Driver";
- static String PGUrl = "jdbc:mysql://192.168.0.1/demo_db";
- static String PGUser = "demo";
- static String PGPasswd = "demo";
- public static Statement stmt = null;
- public static void openConnection() {
- try {
- Class.forName(driver);
- con = DriverManager.getConnection(PGUrl, PGUser, PGPasswd);
- } catch (Exception ex) {
- System.err.println("connection failed!");
- ex.printStackTrace();
- return;
- }
- }
- public static void closeConnection()
- {
- if(con != null) {
- try {
- con.close();
- } catch (Exception ex) {
- return;
- }
- }
- }
- public static void updateUserTable(String id, String pass, String fullname)
- {
- int idnumber = 1;
- try {
- String sql = "INSERT INTO user_table (id_number, id, pass, fullname) VALUES (" +
- idnumber + "," +
- id + "," +
- fullname + ")";
- //System.out.println(sql);
- Statement stmt = con.createStatement();
- stmt.executeUpdate(sql);
- } catch (Exception ex) {
- System.out.println("SQL Error!)");
- return;
- }
- }
- }
再来看看Activator.java
- package demo.database.bundle;
- import org.osgi.framework.BundleActivator;
- import org.osgi.framework.BundleContext;
- public class Activator implements BundleActivator {
- public void start(BundleContext context) throws Exception {
- System.out.println("Database Bundle started!");
- DatabaseBundle.openConnection();
- DatabaseBundle.updateUserTable("0", "123456", "test_name");
- }
- public void stop(BundleContext context) throws Exception {
- DatabaseBundle.closeConnection();
- System.out.println("Database Bundle stoped!");
- }
- }
运行该bundle, 即可发现user_table已经有记录被更新了,说明该bundle能访问数据库。
值得注意的一点是:只是把mysql-connector-java-5.1.22-bin.jar加进工程的lib之后编译和生成bundle没有问题,但启动bundle时会出错。必须在bundle.manifest文件中,把下面红色部分(com.mysql.jdbc)import进来才可以(如下所示)。而使用postgresql-jdbc-8.4.701.jar来访问基于PostgreSQL数据库时则无需Import此选项也没有问题。
Import-Package: org.osgi.framework,com.mysql.jdbc
0 0
- bundle开发----数据库访问(基于MySQL)
- bundle开发----数据库访问(基于MySQL)
- Mysql: 基于MySQL API 接口,Viual Studio,访问 Mysql数据库
- .Net+MySQL的开发(数据库访问)
- .Net+MySQL的开发(数据库访问)
- 基于FreeBSD+MySQL高性能数据库开发
- 基于C API的MySQL数据库多线程访问方法
- 基于C API的MySQL数据库多线程访问方法
- 基于C API的MySQL数据库多线程访问方法(收藏)
- MySql基于ADO.NET方式访问数据库ADOHelper封装MySqlHelper
- 基于C API的MySQL数据库多线程访问方法
- Linux Eclipse开发环境C++访问Mysql数据库的设置
- Eclipse axis开发WebService(访问MySQL数据库)
- 基于MySQL的高性能数据库应用开发
- 基于MySQL的高性能数据库应用开发
- 基于Jax-WS和Mysql数据库的WEB服务开发
- 基于struts2开发的登录模块(Mysql数据库)
- 远程访问mysql数据库
- Top 10 JavaScript traps for a C# developer
- poj 3278
- 深入学习JavaScript: apply 方法 详解(转)——非常好
- ztree使用系列四(ztree实现同级拖拽排序并将排序结果保存数据库)
- liferay6.2-portlet2.0事件处理
- bundle开发----数据库访问(基于MySQL)
- GG中obey命令的使用
- 编程实现两个正整数的除法
- ant笔记-2.项目构建的测试java工程
- EJB介绍
- pythonchallenge level8--python2.7
- learn with python-第一章:编程方法
- 45. 腾讯面试题: 使用hashmap 插入数据,怎么样按照插入数据的顺序输出数据
- 代理