當前位置:首頁 » 編程語言 » sqltextjava
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sqltextjava

發布時間: 2022-12-11 07:52:52

資料庫的中text類型,對應Java中的什麼類型

一般用String就可以了,
如果文本過大的話,
可以使用 java.sql 包下的Clob類。

⑵ java 驗證字元串是否為sql語句 並且是否包含 select 關鍵字

java驗證字元串是否為sql語句,是否包含select關鍵字,主要使用的是正則表達式來進行驗證,如下:

importjava.util.*;
importjava.text.*;
classsqltest
{
publicstaticvoidmain(String[]args)
{
Stringspan="selectaaaa.idname,hello,typet,hfromdatasaaaa,citybwherea.id=b.idandclike'e%'andnameisnull";
span=span.toUpperCase();//測試用sql語句
System.out.println(span);
Stringcolumn="(\w+\s*(\w+\s*){0,1})";//一列的正則表達式匹配如proctp
Stringcolumns=column+"(,\s*"+column+")*";//多列正則表達式匹配如proctp,categoryc,warehousew
Stringownerenable="((\w+\.){0,1}\w+\s*(\w+\s*){0,1})";//一列的正則表達式匹配如a.proctp
Stringownerenables=ownerenable+"(,\s*"+ownerenable+")*";//多列正則表達式匹配如a.proctp,a.categoryc,b.warehousew
Stringfrom="FROM\s+"+columns;
Stringcondition="(\w+\.){0,1}\w+\s*(=|LIKE|IS)\s*'?(\w+\.){0,1}[\w%]+'?";//條件的正則表達式匹配如a=b或aisb..
Stringconditions=condition+"(\s+(AND|OR)\s*"+condition+"\s*)*";//多個條件匹配如a=bandclike'r%'ordisnull
Stringwhere="(WHERE\s+"+conditions+"){0,1}";
Stringpattern="SELECT\s+(\*|"+ownerenables+"\s+"+from+")\s+"+where+"\s*";//匹配最終sql的正則表達式
System.out.println(pattern);//輸出正則表達式
System.out.println(span.matches(pattern));//是否比配

}
}

⑶ 資料庫的中text類型,對應Java中的什麼類型

還是 String 類型,不知你們是否使用Hibernate框架,使用的話可以給String 類型設置最大長度;

@Column(length=1024)
privateStringyeartroupeStr;

此欄位,對應成了LongText類型(可能,不確定);

希望能幫到你

⑷ 資料庫text對應java什麼欄位

如果你是自動生成資料庫表和欄位的話建議您在對應的String欄位上面加上

@Column(nullable = false, columnDefinition = "TEXT")

這樣資料庫欄位類型就是TEXT,而不是VARCHAR,默認都是VARCHAR的

⑸ java讀取sql文件,讀到的文本作為參數傳遞,然後調用executeQuery試行,顯示ORA-00911: 無效字元

拼接一下字元串,把你接收到的sql語句加上雙引號試試。
覺得你應該加斷點調試下呀,看看你作為參數傳遞過去之後接收到的字元串是否正確

⑹ 在java中怎麼往SQL資料庫里插入日期時分

/**
* Copyright 2014 (C) PANLAB ,All Rights Reserved.
*/
package com.lrlz.common.tool;

import java.text.ParsePosition;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;

/**
* <p>Title: 基礎類</p>
* <p>Description: 日期轉換</p>
* <p>Company: </p>

* @version 1.0
*/
public class DateUtils {
/**
* 日期轉化為字元串
* @param date 時間
* @return yyyy-MM-dd HH:mm:ss 格式化的時間字元串
*/
public static String dateToString(Date date) {
if(date==null) return "";
return FormatDate(date, "yyyy-MM-dd HH:mm:ss");
}
/**
* 日期轉化為字元串
* @param date 時間
* @return yyyy-MM-dd 格式化的時間字元串
*/
public static String dateToStringShort(Date date) {
if(date==null) return "";
return FormatDate(date, "yyyy-MM-dd");
}

/**
* 計算兩個日期差(毫秒)
* @param date1 時間1
* @param date2 時間2
* @return 相差毫秒數
*/
public static long diffTwoDate(Date date1, Date date2) {
long l1 = date1.getTime();
long l2 = date2.getTime();
return (l1 - l2);
}

/**
* 計算兩個日期差(毫秒)
* @param date1 時間1
* @param date2 時間2
* @return 相差毫秒數
*/
public static int diffMinterDate(Date date1, Date date2) {
if(date1==null||date2==null){
return 0;
}
long l1 = date1.getTime();
long l2 = date2.getTime();
int deff=Integer.parseInt(""+(l1-l2)/1000/60);
return deff;
}

/**
* 計算兩個日期差(天)
* @param date1 時間1
* @param date2 時間2
* @return 相差天數
*/
public static int diffTwoDateDay(Date date1, Date date2) {
long l1 = date1.getTime();
long l2 = date2.getTime();
int diff = Integer.parseInt(""+(l1 - l2)/3600/24/1000);
return diff;
}

/**
* 對日期進行格式化
* @param date 日期
* @param sf 日期格式
* @return 字元串
*/
public static String FormatDate(Date date, String sf) {
if(date==null) return "";
SimpleDateFormat dateformat = new SimpleDateFormat(sf);
return dateformat.format(date);
}

/**
* 取得當前系統日期
* @return yyyy-MM-dd
*/
public static String getCurrDate() {
Date date_time = new Date();
return FormatDate(date_time, "yyyy-MM-dd");
}

//取系統時間時一定要用這個方法,否則日期可能不動
public static Date getCurrDateTime(){
return new Date(System.currentTimeMillis());
}

/**
* 返回格式化時間
* @param fmt
* @return
*/
public static String getCurrDateTime(String fmt){
return FormatDate(new Date(System.currentTimeMillis()),fmt);
}

/**
* 取得當前系統時間
* @return yyyy-MM-dd HH:mm:ss
*/
public static String getCurrTime() {
Date date_time = new Date();
return FormatDate(date_time, "yyyy-MM-dd HH:mm:ss");
}

/**
* 取得日期的天份
* @param date 日期
* @return dd 天字元串
*/
public static String getDay(Date date) {
return FormatDate(date, "dd");
}

/**
* 取得日期的小時
* @param date 日期
* @return hh 小時字元串
*/
public static String getHour(Date date) {
return FormatDate(date, "HH");
}

/**
* 取得日期的分鍾
* @param date 時間
* @return mm 分鍾字元串
*/
public static String getMinute(Date date) {
return FormatDate(date, "mm");
}

/**
* 取得日期的月份
* @param date 日期
* @return mm 月份字元串
*/
public static String getMonth(Date date) {
return FormatDate(date, "MM");
}

public static int getMonth(Date start, Date end) {
if (start.after(end)) {
Date t = start;
start = end;
end = t;
}
Calendar startCalendar = Calendar.getInstance();
startCalendar.setTime(start);
Calendar endCalendar = Calendar.getInstance();
endCalendar.setTime(end);
Calendar temp = Calendar.getInstance();
temp.setTime(end);
temp.add(Calendar.DATE, 1);

int year = endCalendar.get(Calendar.YEAR)
- startCalendar.get(Calendar.YEAR);
int month = endCalendar.get(Calendar.MONTH)
- startCalendar.get(Calendar.MONTH);

if ((startCalendar.get(Calendar.DATE) == 1)
&& (temp.get(Calendar.DATE) == 1)) {
return year * 12 + month + 1;
} else if ((startCalendar.get(Calendar.DATE) != 1)
&& (temp.get(Calendar.DATE) == 1)) {
return year * 12 + month;
} else if ((startCalendar.get(Calendar.DATE) == 1)
&& (temp.get(Calendar.DATE) != 1)) {
return year * 12 + month;
} else {
return (year * 12 + month - 1) < 0 ? 0 : (year * 12 + month);
}
}

/**
* 取得時間的秒
* @param date 時間
* @return ss 秒字元串
*/
public static String getSecond(Date date) {
return FormatDate(date, "ss");
}

/**
*根據年、月取得月末的日期
* @param year 年
* @parm month 月
* @return time 返回日期格式"yyyy-mm-dd"
*/
public static String getTime(String year,String month){
String time="";
int len=31;
int iYear=Integer.parseInt(year);
int iMonth=Integer.parseInt(month);
if(iMonth==4 || iMonth==6 || iMonth==9 || iMonth==11)
len=30;
if(iMonth==2){
len=28;
if((iYear%4==0 && iYear%100==0 && iYear%400==0) || (iYear%4==0 && iYear%100!=0)){
len=29;
}
}
time=year+"-"+month+"-"+String.valueOf(len);
return time;
}

/**
* 取得日期的年份
* @param date 日期
* @return yyyy 年份字元串
*/
public static String getYear(Date date) {
return FormatDate(date, "yyyy");
}

/**
* 字元串轉換為日期
* @param dateString yyyy-MM-dd HH:mm:ss
* @return 日期
*/
public static Date stringToDate(String dateString) {
if(dateString==null || dateString.trim().length()==0) return null;
String datestr = dateString.trim();

String sf = "yyyy-MM-dd HH:mm:ss";
Date dt = stringToDate(datestr, sf);
if(dt==null) dt = stringToDate(datestr, "yyyy-MM-dd");
if(dt==null) dt = stringToDate(datestr, "MM-dd HH:mm:ss");
if(dt==null) dt = stringToDate(datestr, "dd HH:mm:ss");
if(dt==null) dt = stringToDate(datestr, "yyyyMMdd");
return dt;
}
/** 字元串轉換為日期
* @param dateString 日期格式字元串
* @param sf 日期格式化定義
* @return 轉換後的日期
*/
public static Date stringToDate(String dateString, String sf) {
ParsePosition pos = new ParsePosition(0);
SimpleDateFormat sdf = new SimpleDateFormat(sf);
Date dt = sdf.parse(dateString, pos);
return dt;
}
/**
* 字元串轉換為日期
* @param dateString yyyy-MM-dd
* @return 日期
*/
public static Date stringToDateShort(String dateString) {
String sf = "yyyy-MM-dd";
Date dt = stringToDate(dateString, sf);
return dt;
}
public DateUtils() {
}

/**
* 獲取格式化容器
* @param fmt
* @return
*/
public static SimpleDateFormat getSimFormat(String fmt){
if(StringUtils.isBlank(fmt))fmt=DATE_YMDHMS;
SimpleDateFormat dateFormat = new SimpleDateFormat(fmt);
dateFormat.setLenient(false);
return dateFormat;
}

}