Java 使用executeUpdate向數(shù)據(jù)庫(kù)中創(chuàng)建表格

創(chuàng)新互聯(lián)長(zhǎng)期為上1000家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為蒲城企業(yè)提供專業(yè)的成都做網(wǎng)站、網(wǎng)站制作,蒲城網(wǎng)站改版等技術(shù)服務(wù)。擁有10多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。
一、創(chuàng)建mysql.ini文件,配置如下
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/select_test
user=root
pass=123456
這樣以后修改數(shù)據(jù)庫(kù)的配置直接在mysql.ini文件中修改。
二、編寫(xiě)代碼
initParam方法: 獲得mysql.ini中的數(shù)據(jù)
createTale方法: 連接數(shù)據(jù)庫(kù),并且executeUpdate執(zhí)行sql語(yǔ)句。此例的sql文件為創(chuàng)建表語(yǔ)句。
main方法: 傳入Sql語(yǔ)句。
class ExecuteDDL {
private String driver;
private String url;
private String user;
private String pass;
Connection conn;
Statement stmt;
public void initParam(String paramFile) throws Exception {
Properties props = new Properties();
props.load(new FileInputStream(paramFile));
driver = props.getProperty("driver");
url = props.getProperty("url");
user = props.getProperty("user");
pass = props.getProperty("pass");
}
public void createTale(String sql) throws Exception{
try {
Class.forName(driver);
conn = DriverManager.getConnection(url,user,pass);
stmt = conn.createStatement();
stmt.executeUpdate(sql);
}
finally
{
if (stmt != null) {
stmt.close();
}
if (conn != null) {
conn.close();
}
}
}
/**
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
ExecuteDDL ed = new ExecuteDDL();
ed.initParam("src/mysql.ini");
ed.createTale("create table student " +
"(id int, " +
"name varchar(50), " +
"num varchar(20) )");
System.out.println("Creating table success!");
}
注意事項(xiàng):傳入的Sql語(yǔ)句最好在MySql測(cè)試通過(guò),并且傳入的mysql.int文件的路徑必須正確。
當(dāng)執(zhí)行完畢后,在MySql的select_test數(shù)據(jù)庫(kù)中查看該Student表是否已經(jīng)創(chuàng)建成功了。
三、使用executeUpdate方法,向表中插入數(shù)據(jù)。
將上面的創(chuàng)建表的Sql語(yǔ)句改為插入數(shù)據(jù)表的語(yǔ)句,執(zhí)行executeUpdate方法,其結(jié)果就是想表中插入數(shù)據(jù)。
創(chuàng)建insertSql變量。
private static String insertSql = "insert into student values(1,'XiaoMing','06108787')";
執(zhí)行插入語(yǔ)句。
ed.createTale(insertSql);
1. 基本數(shù)據(jù)類型
整形:
byte 1 個(gè)字節(jié)
short 2 個(gè)字節(jié)
int 4個(gè)字節(jié)
long 8個(gè)字節(jié)
字符:
char 2個(gè)字節(jié)
浮點(diǎn)數(shù):
float 4個(gè)字節(jié)
double 8個(gè)字節(jié)
布爾:
boolean 1個(gè)字節(jié)
2.java 7 新增二進(jìn)制整數(shù)
以0b或者0B開(kāi)頭
3.java中字符時(shí)16位的Unicode編碼方式,格式是'\uXXXX',其中xxxx代表一個(gè)十六進(jìn)制整數(shù)
4.java中規(guī)定了正無(wú)窮大、負(fù)無(wú)窮大和零
正無(wú)窮大= 一個(gè)正數(shù)除以0
負(fù)無(wú)窮大= 一個(gè)負(fù)數(shù)除以零
0.0 除以0.0 或者 對(duì)一個(gè)負(fù)數(shù)開(kāi)方 得到一個(gè)非數(shù)
5. 在java中布爾類型只能是true和false
6. 在java中沒(méi)有多維數(shù)組
看似像C語(yǔ)言中的多維數(shù)組不是真正的數(shù)組,比如 a[3][4] , a[0] a[1] a[2] 是真實(shí)存在的,裝的是地址,和c語(yǔ)言中動(dòng)態(tài)分配為的數(shù)組一樣
int [][] b = new int[3][4]
7. Java中帶包的編譯方法
javac -d . Hello.java 會(huì)在當(dāng)前目錄下生成目錄樹(shù)
運(yùn)行 java 包名字.類名字
8. Java多態(tài)中的對(duì)象的filed 不具有多態(tài)性,如 父類 對(duì)象 = new 子類(), 對(duì)象.field 是調(diào)用的父類的,即使子類中覆蓋了該字段。
9. instanceof 運(yùn)算符
格式: 引用變量名 instanceof 類名(或者接口) 他用于判斷前面的對(duì)象是否是后面對(duì)象的類,子類、實(shí)現(xiàn)類的實(shí)例,是返回true,否者返回false
10. Java 中基本數(shù)據(jù)類型和對(duì)應(yīng)封裝類之間的轉(zhuǎn)化
int a = 1;
Integer A = new Integer(a);
a = A.intValue();
其他的類型也是這樣的。
11.單例(singleton)類 例子
復(fù)制代碼 代碼如下:
class Singleton
{
private static Singleton instance;
private Singleton(){}
public static Singleton getInstance()
{
if(instance == null)
{
instance = new Singleton();
}
return instance;
}
public static void main(String[] args)
{
Singleton s1 = Singleton.getInstance();
Singleton s2 = Singleton.getInstance();
System.out.println(s1 == s2);
}
}
12.final修飾的成員變量初始化問(wèn)題
類Field: 必須在靜態(tài)初始?jí)K中或聲明該FIeld時(shí)指定初始值
實(shí)例Field:必須在非靜態(tài)初始?jí)K中或聲明該FIeld時(shí)指定初始值或構(gòu)造器中聲明
13.Final 變量必須顯式初始化,系統(tǒng)不會(huì)對(duì)final變量進(jìn)行隱式初始化
14.java會(huì)使用常量池來(lái)管理曾經(jīng)用過(guò)的字符串直接常量,例如:String a = "java"; ,系統(tǒng)把常量字符串“java”存在常量池,當(dāng)再次執(zhí)行 String b = "java"; a == b 是true
15.final 方法不可以重寫(xiě),final類不能被繼承
如果用private 方法 和 final private 是一樣的
若果是用final修飾的方法在子類中出現(xiàn),那是子類新定義的,與父類沒(méi)有關(guān)系
16.不可變類:創(chuàng)建后該類的Field是不可改變的。java提供了8個(gè)基本變量的包裝類和string都是不可改變類。
17.緩存實(shí)例的不可改變類
復(fù)制代碼 代碼如下:
class CacheImmutale
{
private static int MAX_SIZE = 10;
private static CacheImmutale[] cache = new CacheImmutale[MAX_SIZE];
private static int pos = 0;
private final String name;
private CacheImmutale(String name)
{
this. name = name;
}
public String getName()
{
return name;
}
public static CacheImmutale valueOf(String name)
{
for(int i = 0; i MAX_SIZE; ++i)
{
if(cache[i] != null cache[i].getName().equals(name))
return cache[i];
}
if(pos == MAX_SIZE)
{
cache[0] = new CacheImmutale(name);
pos = 1;
}
else
{
cache[pos++] = new CacheImmutale(name);
}
return cache[pos -1];
}
public boolean equals(Object obj)
{
if(this == obj)
return true;
if(obj != null obj.getClass() == CacheImmutale.class)
{
CacheImmutale ci = (CacheImmutale)obj;
return name.equals(ci.getName());
}
return false;
}
public int hashCode()
{
return name.hashCode();
}
}
public class CacheImmuteTest
{
public static void main(String[] args)
{
CacheImmutale c1 = CacheImmutale.valueOf("Hello");
CacheImmutale c2 = CacheImmutale.valueOf("Hello");
System.out.println(c1 == c2);
}
}
用緩存實(shí)例要看某個(gè)對(duì)象的使用頻率,若重復(fù)使用那就利大于弊,若不經(jīng)常使用那弊就大于利
還有java提供的java.lang.Integer 創(chuàng)建數(shù)值在-128-127之間的數(shù)采用緩存機(jī)制的
Integer in2 = Integer.valueOf(6);
Integer in3= Integer.valueOf(6);
in2 == in3 is true;
18. static 和 abstract 不能同時(shí)修飾一個(gè)方法,沒(méi)有類抽象方法
19.一個(gè)類可以又一個(gè)父類,實(shí)現(xiàn)多個(gè)接口,接口中Filed是public 、static、final的,方法是public abstract的
20.非靜態(tài)內(nèi)部類的方法訪問(wèn)某個(gè)變量,搜索順序?yàn)椋合葍?nèi)部類中方法內(nèi)- 內(nèi)部類 - 外部類中如果都找不到則出現(xiàn)編譯錯(cuò)誤
復(fù)制代碼 代碼如下:
import java.util.*;
public class DiscernVariable
{
private String prop = "外部類的實(shí)例變量";
private class InClass
{
private String prop = "內(nèi)部類的實(shí)例變量";
public void info()
{
String prop = "局部變量";
System.out.println("外部類的field值:" + DiscernVariable.this.prop);
System.out.println("內(nèi)部類的field值:" + this.prop);
System.out.println("局部變量的值:" + prop);
}
}
public void test()
{
InClass in = new InClass();
in.info();
}
public static void main(String[] args)
{
new DiscernVariable().test();
}
}
21.非靜態(tài)內(nèi)部類不能有靜態(tài)方法、靜態(tài)Field、靜態(tài)初始化塊
22.在外部類之外訪問(wèn)內(nèi)部類
訪問(wèn)非靜態(tài)內(nèi)部類:outclass.Inclass varname = new outclass().new InClass();
訪問(wèn)靜態(tài)內(nèi)部類: outclass.Inclass varname = new outclass.Inclass();
復(fù)制代碼 代碼如下:
import java.util.*;
class Out
{
class In
{
public In()
{
System.out.println("非靜態(tài)內(nèi)部類構(gòu)造器");
}
}
}
public class CreatInnerInstance
{
public static void main(String[] args)
{
Out.In in = new Out().new In();
/*
以上的代碼可分開(kāi)寫(xiě)為:
Out.In in;
Out out = new Out();
in = out.new In();
*/
}
}
class SubClass extends Out.In
{
//顯示定義SubClass的構(gòu)造器
public SubClass(Out out)
{
//通過(guò)轉(zhuǎn)入的Out對(duì)象顯示調(diào)用In的構(gòu)造器
out.super();
}
}
復(fù)制代碼 代碼如下:
import java.util.*;
class StaticOut
{
static class StaticIn
{
public StaticIn()
{
System.out.println("靜態(tài)內(nèi)部類構(gòu)造器");
}
}
}
public class CreatStaticInnerInstance
{
public static void main(String[] args)
{
StaticOut.StaticIn in = new StaticOut.StaticIn();
/*
以上的代碼可分開(kāi)寫(xiě)為:
StaticOut.StaticIn in;
in = new StaticOut.StaticIn();
*/
}
}
class SubClass extends StaticOut.StaticIn
{
//無(wú)須創(chuàng)建內(nèi)部類實(shí)例
}
tale軟件如何,Tale是一款基于Java的博客Web系統(tǒng),使用了輕量級(jí) mvc 框架 Blade 開(kāi)發(fā)。特性
設(shè)計(jì)簡(jiǎn)潔,界面美觀
自定義文章鏈接
支持多主題(默認(rèn)主題 pinghsu)
支持插件擴(kuò)展
支持 Emoji 表情
支持網(wǎng)易云音樂(lè)播放
支持附件和數(shù)據(jù)庫(kù)備份
部署簡(jiǎn)單,不依賴 Tomcat
無(wú)需數(shù)據(jù)庫(kù),內(nèi)嵌 Sqlite
首先Map排序需要自己寫(xiě)一堆算法。其次HashMap是無(wú)序的,即使已經(jīng)排序正確了,取值時(shí)也不一定就是按順序取出的。所以直接排序存放是不可行的。
但可以曲線救國(guó)的辦法,通過(guò)SetString keys = map.keySet();取得map的key值集合,然后單獨(dú)給keys來(lái)個(gè)排序就簡(jiǎn)單多了,然后按排序后的keys去遍歷取值,就OK了。
所謂緩存,就是將程序或系統(tǒng)經(jīng)常要調(diào)用的對(duì)象存在內(nèi)存中,一遍其使用時(shí)可以快速調(diào)用,不必再去創(chuàng)建新的重復(fù)的實(shí)例。這樣做可以減少系統(tǒng)開(kāi)銷,提高系統(tǒng)效率。緩存機(jī)制的實(shí)現(xiàn)有很多中,這里講一種。
public class CacheImmutale{
//聲明要緩存的類名;
private final String className;
//聲明10個(gè)緩存池
private static CacheImmutale[] cache= new CachImmutale[10];
//記錄緩存的位置,最新位置為[pos-1]
private static int pos=0;
//構(gòu)造器
public CacheImmutale(String className){
this.className=className;
}
//返回方法
public String getName(){
return className;
}
//返回對(duì)象實(shí)例名,傳進(jìn)要使用的實(shí)例名,由該方法去判斷緩存池中是否存在
public static CacheImmutale valueOf(String className){
//遍歷緩存池,若存在,返回
for(int i=0;i
if(cache[i]!=nullcache[i].getName().equals(className)){
return cache[i];
}
}
//如果緩存池滿,則采取先進(jìn)先出
if(pos==10){
cache[0]=new CacheImmutale(className);
pos=1;
return cache[0];
}
else{
cache[pos++]=new CacheImmutale(className);
return cache[pos-1];
}
}
public boolean equals(Object obj){
if(obj instanceof CacheImmutale){
CacheImmutale c1=(CacheImmutale)obj;
if(className.equals(c1.getName())){
return true;
}
}
return false;
}
public int hashCode(){
return className.hashCode();
}
}
網(wǎng)站標(biāo)題:tale博客java代碼的簡(jiǎn)單介紹
文章轉(zhuǎn)載:http://chinadenli.net/article6/doogeig.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營(yíng)銷型網(wǎng)站建設(shè)、做網(wǎng)站、手機(jī)網(wǎng)站建設(shè)、小程序開(kāi)發(fā)、App設(shè)計(jì)、微信公眾號(hào)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)