java 动态创建数据库和动态连接数据库
项目中有一个需求要动态创建数据库并且要动态连接数据库,本来以为还很难实现呢,在网上找了好久,都不是很理想,最后看到有人说创建数据库时,先连接到任意一个数据库,获得连接后用createStatement()语句创建自己的数据库,自己试了一下,果然可以.动态连接数据库就跟简单了!下面是代码,仅供参考!这些在jdbc里面实现的,如果是用hibernate的话,不知道怎么样,我没有试过!
package com.cn.javaEE.dataSource;
import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;
public class CreateDataSource {
/*** @param args*/public static void main(String[] args) { // TODO Auto-generated method stub String database = "test2"; new CreateDataSource().getConn(database);}
String mysqlDriver = "com.mysql.jdbc.Driver";String url = "jdbc:mysql://localhost:3306/test1";String newUrl = "jdbc:mysql://localhost:3306/";String username = "root";String password = "root";Connection conn = null;Connection newConn = null;
public Connection getConn(String database) {
try { Class.forName(mysqlDriver); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } try { String tableSql = "create table t_user (username varchar(50) not null primary key," + "password varchar(20) not null ); "; String databaseSql = "create database " + database;
conn = DriverManager.getConnection(url, username, password); Statement smt = conn.createStatement(); if (conn != null) { System.out.println("数据库连接成功!");
smt.executeUpdate(databaseSql);
newConn = DriverManager.getConnection(newUrl + database, username, password); if (newConn != null) { System.out.println("已经连接到新创建的数据库:" + database);
Statement newSmt = newConn.createStatement(); int i = newSmt.executeUpdate(tableSql);//DDL语句返回值为0; if (i == 0) { System.out.println(tableSql + "表已经创建成功!"); } } }
} catch (SQLException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } return conn;}}
java 动态创建数据库和动态连接数据库的更多相关文章
- Android 通过Java代码生成创建界面。动态生成View,动态设置View属性。addRules详解
废话不多说,本文将会层层深入给大家讲解如何动态的生成一个完整的界面. 本文内容: Java代码中动态生成View Java代码中动态设置View的位置,以及其他的属性 LayoutParams详解 一 ...
- hibernate动态创建数据库表名几种方式
数据库中数据量很大, 但又不可以删除时同时又要优化程序检索数据时间. 答:方式有很多比如 创建数据库表分区,创建索引, 存储过程等; 我这里采用动态创建数据库表的方式. 完全可以在不创建表分区情况下实 ...
- ASP.NET实现二维码 ASP.Net上传文件 SQL基础语法 C# 动态创建数据库三(MySQL) Net Core 实现谷歌翻译ApI 免费版 C#发布和调试WebService ajax调用WebService实现数据库操作 C# 实体类转json数据过滤掉字段为null的字段
ASP.NET实现二维码 using System;using System.Collections.Generic;using System.Drawing;using System.Linq;us ...
- C# 动态创建数据库三(MySQL)
前面有说明使用EF动态新建数据库与表,数据库使用的是SQL SERVER2008的,在使用MYSQL的时候还是有所不同 一.添加 EntityFramework.dll ,System.Data.En ...
- ASP.NET动态创建数据库和表
using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; usin ...
- java编写创建数据库和表的程序
本文示例可见一斑了,主要是通过Java对SQL语句进行操作,和普通的增删改查的原理是一样的: import java.sql.*; public class Test { public static ...
- angular4 动态创建组件 vs 动态创建模板
实现 模拟场景:页面上"帮助"按钮的点击触发帮助文档的弹出框,且每个页面的帮助文档不一样 因此弹出框里的帮助文档是一个动态模板而不是动态组件 以下comp均代表Type类型的动态 ...
- MVC5+EF6入门教程——实现动态创建数据库与登录验证
详细步骤 创建文件夹,规划好项目目录 创建相关实体类 (Data Model) 创建 Database Context 创建Initializer, 使用EF初始化数据库,插入测试数据 实现数据库登录 ...
- C#中动态创建数据库和数据表,很经典【转】
用ADOX创建access数据库方法很简单,只需要new一个Catalog对象,然后调用它的Create方法就可以了,如下: ADOX.Catalog catalog = new Catalog(); ...
随机推荐
- 工作圈redis 使用
redis作为内存数据库,更多的是作为内存cache来使用. 再所负责的工作圈中的使用,主要是分两方面: 1.数据对象: 主题的内容存储 主题回复内容的存储 用户信息存储 圈子信息存储 2.各数据对象 ...
- 深入理解requestAnimationFrame
前言 本文主要参考w3c资料,从底层实现原理的角度介绍了requestAnimationFrame.cancelAnimationFrame,给出了相关的示例代码以及我对实现原理的理解和讨论. 先来看 ...
- TF Boys (TensorFlow Boys ) 养成记(五)
有了数据,有了网络结构,下面我们就来写 cifar10 的代码. 首先处理输入,在 /home/your_name/TensorFlow/cifar10/ 下建立 cifar10_input.py,输 ...
- Maven学习总结(三)——使用Maven构建项目
maven作为一个高度自动化构建工具,本身提供了构建项目的功能,下面就来体验一下使用maven构建项目的过程. 一.构建Java项目 1.1.创建Java Project 1.使用mvn archet ...
- dom4j 读取xml
package core.util; import java.io.File; import java.util.Iterator; import java.util.List; import org ...
- Memcached常规应用与分布式部署方案
1.Memcached常规应用 $mc = new Memcache(); $mc->conncet('127.0.0.1', 11211); $sql = sprintf("SELE ...
- Less安装与使用
Less是一门CSS预处理语言,它扩展了CSS语言,增加了变量.Mixin.函数等特性,使CSS更易维护和拓展.(less可以运行在node或浏览器端) 首先:安装+配置环境 在node.js中通过它 ...
- Ninja Blocks物联网平台简介
Ninja Blocks是一个物联网控制平台,其平台架构包括硬件层.处理器层.软件层以及平台层,请看下图: 最底层是硬件层,包括传感器(Sensors)和驱动器(Actuators),例如温度传感器. ...
- c++ const放置的位置
标准中int const a 与 const int a 是完全等价的.正因为如此,会有很多各种不同的风格,同样的还有"*是跟类型还是变量?",比如char* p与 char *p ...
- Code Consultation
Need help architecting or coding your application? You can get technical help with building applicat ...