当前位置:首页 » 编程语言 » 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;
}

}