对于一些的应用项目,提供安装版的Mysql,Oracle是必须的工作。下面小编为大家介绍Java中如何使用嵌入MySQL,希望能帮到大家!
其实MySQL也有嵌入式的,不需要安装,在使用的过程中,会自动创建数据库以及通过代码的方式启动或者关闭。下面提供一些代码片段,具体的会提供下载地址。
这个是核心代码类,这个类实现了Mysql的启动和停止以及数据库的启动状态。
下面这个是启动Demo。
MySql_general.properties一般机器的配置样例
MySql_medium.properties中等机器的配置样例
MySql_large.properties高配机的配置样例
具体的参数可以根据不同需求进行定义,比如端口可以自由定义。
需要引用的mysql两个jar,mysql-connector-mxj-gpl-6-0-11-db-files.jar,mysql-connector-mxj-gpl-6-0-11.jar
第2篇:Java中嵌入式MySQL的使用方法介绍
这篇文件主要介绍在Java中嵌入式MySQL的使用,对于一些的应用项目,提供安装版的Mysql,Oracle是必须的工作。但是有时候如果是一个小的工具,可安装或者移植*比较强的小软件。再去安装数据库可能就比较麻烦了。
其实MySQL也有嵌入式的,不需要安装,在使用的过程中,会自动创建数据库以及通过代码的方式启动或者关闭。下面提供一些代码片段,具体的会提供下载地址。
这个是核心代码类,这个类实现了Mysql的启动和停止以及数据库的启动状态。
package.simple.mysql;importjava.io.File;importjava.util.HashMap;importjava.util.Map;importjava.util.Properties;importjava.util.Set;import.mysql.management.MysqldResource;publicfinalclassEmbedMySqlServer{privateMysqldResourcemysqlInstance;//配置信息publicfinalPropertiesprops;//端口信息privateStringport;privateStringembedMySqlHome;publicEmbedMySqlServer(finalPropertiesprops){this.props=props;}publicEmbedMySqlServer(finalPropertiesprops,StringembedMySqlHome){this.embedMySqlHome=embedMySqlHome;this.props=props;}publicfinalStringgetEmbedMySqlHome(){returnnull==embedMySqlHome?getPlatformBaseDir():embedMySqlHome;}publicstaticStringgetPlatformBaseDir(){returnSystem.getProperty("user.dir");}publicstaticbooleanisBlank(finalStringstr){intstrLen;if(str==null||(strLen=str.length())==0){returntrue;}for(inti=0;i<strLen;i++){if(Character.isWhitespace(str.charAt(i))==false){returnfalse;}}returntrue;}publicvoidstartup(){finalFilebaseDir=newFile(getEmbedMySqlHome(),"mysql-em");mysqlInstance=newMysqldResource(baseDir);port=props.getProperty("port");if(isBlank(port))props.put("port",port=String.valueOf((int)(Math.random()*40000)));finalSet
keys=props.keySet();finalMapoptions=newHashMap(keys.size());for(finalObjectkey:keys){finalStringval=props.getProperty(key.toString());if("".equals(val))options.put(key.toString(),null);elseoptions.put(key.toString(),val.replace("{$contextPath}",getPlatformBaseDir()));}if(!mysqlInstance.isRunning())mysqlInstance.start("Em_MySQL",options,false,keys.contains("defaults-file"));}publicStringgetPort(){returnport;}publicbooleanisRunning(){returnnull==mysqlInstance?false:mysqlInstance.isRunning();}publicvoidshutdown(){if(mysqlInstance!=null)mysqlInstance.shutdown();}publicvoidcleanup(){if(mysqlInstance!=null)mysqlInstance.cleanup();}}
下面这个是启动Demo,
publicstaticvoidmain(String[]args){try{Propertiespro=newProperties();//根据机器配置,设置不同的参数pro.load(MysqlTest.class.getResourceAsStream("MySql_medium.properties"));newEmbedMySqlServer(pro).startup();//可以把数据库放到其他磁盘//newEmbedMySqlServer(pro,"f:").startup();Connectionconn=getTestConnection();System.out.println(conn.isClosed());conn.close();}catch(Exceptione){e.printStackTrace();}}
MySql_general.properties一般机器的配置样例
MySql_medium.properties中等机器的配置样例
MySql_large.properties高配机的配置样例
具体的参数可以根据不同需求进行定义,比如端口可以自由定义。
需要引用的mysql两个jar,mysql-connector-mxj-gpl-6-0-11-db-files.jar,mysql-connector-mxj-gpl-6-0-11.jar
代码在Git上,地址是:git.oschina/eliyanfei/api_tools.git
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
第3篇:Java入门教程:如何使用一个Java
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。下面是百分网小编整理的关于使用java语言的内容,欢迎阅读!
一、背景
Java编程语言最初是由Sun微系统公司,这是由杰姆斯Gosling发起并发布1995为sun公司的java平台的核心组件开发。
Java的标准版的最新版本是javaSE8。用java和广泛普及的进程,多个配置套房各类平台。例如:企业应用J2EE、J2ME移动应用。
二、组成
Java大概由四个方面组成:
Java编程语言,即语法;
Java文件格式,即各种文件夹、文件的后缀;
Java虚拟机(JVM),即处理*.class文件的解释器
JavaAPI(JavaSE8)
三、基本含义
抽象类:规定一个或多个抽象方法的类别本身必须定义为abstract,抽象类只是用来派生子类,而不能用它来创建对象。
final类:又称“最终类”,它只能用来创建对象,而不能被继承,与抽象类刚好相反,而且抽象类与最终类不能同时修饰同一个类。
包:Java中的包是相关类和接口的*,创建包须使用关键字package。
继承:Java作为面向对象编程语言,支持继承这基本概念。但Java只支持单根继承,java.lang.Object是所有其他类的基类。
多态类:在Java中,对象变量是多态的。而Java中不支持多重继承。
接口:Java中的接口是一系列方法的声明,是一些方法特征的*,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为。
通用编程:任何类类型的所有值都可以同Object类型的变量来代替。
封装:把数据和行为结合起在一个包中,并对对象使用者隐藏数据的实现过程,一个对象中的数据叫他的实例字段(instancefield)。
重载:当多个方法具有相同的名字而含有不同的参数时,便发生重载。编译器必须挑选出调用哪个方法进行编译。
重写:也可称为方法的“覆盖”。在Java中,子类可继承父类中的方法,而不需要重新编写相同的方法。但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。值得注意的是,子类在重新定义父类已有的方法时,应保持与父类完全相同的方法头声明。
Class类:Object类中的getClass方法返回Class类型的一个实例,程序启动时包含在main方法的类会被加载,虚拟机要加载他需要的所有类,每一个加载的类都要加载它需要的类。
第4篇:java语言类的嵌入
导语:Java语言程序的设计环环相扣,下面,让我们了解一下java语言类的嵌入知识吧!
(1)类可以嵌入另一个类中,但不能嵌入接口中。
(2)在静态方法或其他方法中,不能直接创建内部类对象,需通过手段来取得。
手段有两种:
classA{
classB{}
BgetB(){
Bb=newB();
returnb;
}
}
staticvoidm(){
Aa=newA();
A.Bab=a.getB();//或者是A.Bab=a.newB();
}
(3)一个类继承了另一个类的内部类,因为超类是内部类,而内部类的构造方法不能自动
被调用,这样就需要在子类的构造方法中明确的调用超类的构造方法。
接上例:
classCextendsA.B{
C(){
newA().super();//这一句就实现了对内部类构造方法的调用。
}
}
构造方法也可这样写:
C(Aa){
a.super();
}//使用这个构造方法创建对象,要写成Cc=newC(a);a是A的对象。
第5篇:如何在HTML中嵌入PHP代码
对于一个有经验的PHPWeb开发者,在HTML中嵌入PHP代码是一件非常容易的事情。但是对于刚开始接触PHP编程语言的新手这就是一个问题。下面是小编为大家带来的在HTML中嵌入PHP代码的方法,欢迎阅读。
在常规的HTML中嵌入PHP代码
创建一个hello脚本,命名为hello.php:
<html>
<head>
<title>PHPTest</title>
</head>
<body>
<?phpecho'<p>HelloWorld</p>';?>
</body>
</html>
上面的HTML代码中,在PHP代码中打印Hello。在HTML中编写PHP代码需要使用tags。集成PHP和HTML是非常简单的事情。
我们也可以在HTML中编写更复杂的PHP代码,需要使用tag。
更高级的代码示例:
<html>
<head>PHPHTMLIntegration</head>
<body>
<ul><?phpfor($i=1;$i<=5;$i++){?><li>ItemNo<?phpecho$i;?></li><?php}?></ul>
</body>
</html>
输出结果:
ItemNo1
ItemNo2
ItemNo3
ItemNo4
ItemNo5
以上所述就是本文的全部内容了,希望大家能够喜欢。
第6篇:如何使用java多线程
Java多线程是我们很多时候都会用到的,在不断学习的过程中有很多的应用方法大家知道怎么使用Java多线程吗?以下是小编为大家搜索整理的如何使用java多线程,希望能给大家带来帮助!更多精彩内容请及时关注我们应届毕业生考试网!
Java多线程程序中经常用到的方法有以下几个:run(),start(),wait(),sleep(),notify(),notifyAll(),yield(),join(),还有一个重要的关键字synchronized。下面分别对这些方法进行解释:
一、run()和start()
这两个方法应该都比较熟悉,把需要并行处理的代码放在run()方法中,start()方法启动线程将自动调用run()方法,这是由Java的内存机制规定的。并且run()方法必须是public访问权限,返回值类型为void。
二、关键字Synchronized
这个关键字用于保护共享数据,当然前提是要分清哪些数据是共享数据。每个对象都有一个锁标志,当一个线程访问该对象时,被Synchronized修饰的数据将被“上锁”,阻止其他线程访问。当前线程访问完这部分数据后释放锁标志,其他线程就可以访问了。
1.publicThreadTestimplementsRunnable
2.{
3.publicsynchronizedvoidrun(){
4.for(inti=0;i<10;i++)
5.{
6.System.out.println(""+i);
7.}
8.}
9.publicstaticvoidmain(String[]args)
10.{
11.Runnabler1=newThreadTest();
12.Runnabler2=newThreadTest();
13.Threadt1=newThread(r1);
14.Threadt2=newThread(r2);
15.t1.start();
16.t2.start();
17.}
18.}
以上这段程序中的i变量并不是共享数据,也就是这里的Synchronized关键字并未起作用。因为t1,t2两个线程是两个对象(r1,r2)的线程。不同的对象其数据是不同的,所以r1和r2两个对象的i变量是并不是共享数据。
当把代码改成如下:Synchronized关键字才会起作用
19.Runnabler=newThreadTest();
20.Threadt1=newThread(r);
21.Threadt2=newThread(r);
22.t1.start();
23.t2.start();
关于《匆匆那年》读后感11-23
教师获奖感言30字04-23
简单语文词语解释04-28
美丽的小树林作文300字10-30
梦见黑*的鸡是什么意思04-17
当我被老师批评的时候400字作文06-07
word制作邀请函08-01
立夏的现代诗歌01-16
语文手抄报:趣味名字09-29
董事长致开幕仪式欢迎词03-02
四季的美优秀作文500字08-23
初三700字作文:进行录12-03
市场销售工作人员的自我鉴定03-01
热闹的夜市03-04
员工年终工作总结03-06
我的一场梦03-09