精华内容
下载资源
问答
  • sql转java
    千次阅读
    2020-06-12 16:09:49

    分享一个在线(SQL → JavaBean , JaveBean → SQL ) 网站:

    http://java.bejson.com/generator/

    更多相关内容
  • Java代码实体类生成SQL语句(Java实体类数据库)

    万次阅读 多人点赞 2021-07-19 17:43:04
    有的时候把数据库删了,如果照着实体类重新创建数据库的话比较麻烦,可以使用这个工具,把代码复制到项目里面设置一下即可把Java代码中的实体类转换为SQL语句输出为一个文件,打开执行命令即可。 代码如下: ...

    有的时候把数据库删了,如果照着实体类重新创建数据库的话比较麻烦,可以使用这个工具,把代码复制到项目里面设置一下即可把Java代码中的实体类转换为SQL语句输出为一个文件,打开执行命令即可。

    下载:https://download.csdn.net/download/weixin_44893902/20367422
    在这里插入图片描述

    代码如下:

    package Main;
    
    import javax.xml.bind.annotation.XmlElement;
    import java.io.*;
    import java.lang.annotation.Annotation;
    import java.lang.reflect.Field;
    
    public class GenerateSqlFromEntityUtil {
    
    	public static void main(String[] a) {
    		// 实体类的位置
    		Class klass = cn.ac.azure.model.User.class;
    		// 生成的sql语句的位置
    		String outputPath = "D:/outSql/User.txt";
    		generateTableSql(klass, outputPath, null);
    		System.out.println("生成结束");
    	}
    
    	public static void writeFile(String content, String outputPath) {
    		File file = new File(outputPath);
    		System.out.println("文件路径: " + file.getAbsolutePath());
    		// 输出文件的路径
    		if (!file.getParentFile().exists()) {
    			file.getParentFile().mkdirs();
    		}
    		FileOutputStream fos = null;
    		OutputStreamWriter osw = null;
    		BufferedWriter out = null;
    
    		try {
    			// 如果文件存在,就删除
    			if (file.exists()) {
    				file.delete();
    			}
    			file.createNewFile();
    			fos = new FileOutputStream(file, true);
    			osw = new OutputStreamWriter(fos);
    			out = new BufferedWriter(osw);
    			out.write(content);
    			// 清空缓冲流,把缓冲流里的文本数据写入到目标文件里
    			out.flush();
    		} catch (FileNotFoundException e) {
    			e.printStackTrace();
    		} catch (IOException e) {
    			e.printStackTrace();
    		} finally {
    			try {
    				fos.close();
    			} catch (IOException e) {
    				e.printStackTrace();
    			}
    
    			try {
    				osw.close();
    			} catch (IOException e) {
    				e.printStackTrace();
    			}
    
    			try {
    				out.close();
    			} catch (IOException e) {
    				e.printStackTrace();
    			}
    		}
    	}
    
    	public static void generateTableSql(Class obj, String outputPath, String tableName) {
    		// tableName 如果是 null,就用类名做表名
    		if (tableName == null || tableName.equals("")) {
    			tableName = obj.getName();
    			tableName = tableName.substring(tableName.lastIndexOf(".") + 1);
    		}
    		// 表名用大写字母
    		tableName = tableName.toUpperCase();
    
    		Field[] fields = obj.getDeclaredFields();
    		Object param;
    		String column;
    
    		StringBuilder sb = new StringBuilder();
    
    		sb.append("drop table if exists ").append(tableName).append(";\r\n");
    
    		sb.append("\r\n");
    
    		sb.append("create table ").append(tableName).append("(\r\n");
    
    		System.out.println(tableName);
    
    		boolean firstId = true;
    
    		for (int i = 0; i < fields.length; i++) {
    			Field f = fields[i];
    
    			column = f.getName();
    
    			System.out.println(column + ", " + f.getType().getSimpleName());
    
    			param = f.getType();
    			sb.append(column); // 一般第一个是主键
    
    			if (param instanceof Integer) {
    				sb.append(" INTEGER ");
    			} else {
    				// 注意:根据需要,自行修改 varchar 的长度。这里设定为长度等于 50
    				int length = 50;
    				sb.append(" VARCHAR(" + length + ")");
    			}
    
    			if (firstId == true) {
    				sb.append(" PRIMARY KEY ");
    				firstId = false;
    			}
    
    			// 获取字段中包含 fieldMeta 的注解
    
    			// 获取属性的所有注释
    			Annotation[] allAnnotations = f.getAnnotations();
    
    			XmlElement xmlElement = null;
    			Class annotationType = null;
    
    			for (Annotation an : allAnnotations) {
    				sb.append(" COMMIT '");
    				xmlElement = (XmlElement) an;
    				annotationType = an.annotationType();
    				param = ((XmlElement) an).name();
    				System.out.println("属性 " + f.getName() + " ----- 的注释类型有: " + param);
    				sb.append(param).append("'");
    			}
    
    			if (i != fields.length - 1) { // 最后一个属性后面不加逗号
    				sb.append(", ");
    			}
    
    			sb.append("\n");
    		}
    
    		String sql = sb.toString();
    
    		sql = sb.substring(0, sql.length() - 1) + "\n) " + "ENGINE = INNODB DEFAULT CHARSET = utf8;";
    
    		writeFile(sql, outputPath);
    	}
    }
    
    展开全文
  • 我们来看下java.sql.Date的源码 package java.sql; import java.time.Instant; import java.time.LocalDate; public class Date extends java.util.Date {} 从以上源码可以看出,sql.Date是util.Date...

    1、util.Date和sql.Date之间的关系

    我们来看下java.sql.Date的源码

    package java.sql;
    
    import java.time.Instant;
    import java.time.LocalDate;
    
    
    public class Date extends java.util.Date {}
    

    从以上源码可以看出,sql.Date是util.Date的子类

     

    2、util.Date的构造方法

    以下是java.util.Date的方法部分方法图示:

     

    可以看到,主要有两个构造方法推荐使用,添加了 标记的表示这些方法已经被废弃,不推荐使用。

    所以对于,java.util.Date 常用的构造方法有:

    Date()

    Date(long)  方法参数为一个长整型的毫秒值

    其中,java.util.Date中还有一个重要的方法:就是获取当前时间的毫秒值

    public class Date
        implements java.io.Serializable, Cloneable, Comparable<Date>
    {
    /**
         * Returns the number of milliseconds since January 1, 1970, 00:00:00 GMT
         * represented by this <tt>Date</tt> object.
         *
         * @return  the number of milliseconds since January 1, 1970, 00:00:00 GMT
         *          represented by this date.
         */
        public long getTime() {
            return getTimeImpl();
        }
    }

    从以上源码可以看到,该方法是public的,所以,它的子类sql.Date也是可以继承该方法的。

     

    3、sql.Date的构造方法

    以下是java.sql.Date的方法部分方法图示:

    可以看到,sql.Date主要有一个构造方法:Date(long)

     

    4、util.Date和sql.Date之间的转换

    // 1) 创建java.util.Date的对象
    
    java.util.Date utilDate = new java.util.Date();
    
    
    
    // 2)将java.util.Date转成java.sql.Date
    
    long datems  = utilDate.getTime();
    
    java.sql.Date  sqlDate = new java.sql.Date(datems);
    
    
    
    // 3)将 java.sql.Date 转成 java.util.Date
    
    long datems2 = sqlDate.getTime();
    
    java.util.Date  utilDate = new java.util.Date(datems2);

     

    此文希望可以帮助到大家。如有错误,请指教。                                                           

    如果大家还有其他的情况或者好的解决方法,也望指教,感谢阅读。

     

    展开全文
  • Java:String转换为java.sql.Timestamp

    千次阅读 2020-02-07 23:33:24
    Java:String转换为java.sql.Timestamp 1.JPA映射Mysql的timestamp类型应使用java.sql.Timestamp mysql中的timestamp类型最大长度为6,如果JPA设置的长度大于6,程序执行时控 制台输出有建表提示,但是在数据库中表...

    Java:String转换为java.sql.Timestamp

    1.JPA映射Mysql的timestamp类型应使用java.sql.Timestamp

    mysql中的timestamp类型最大长度为6,如果JPA设置的长度大于6,程序执行时控制台输出有建表提示,但是在数据库中表并没有创建成功,调试状态下能看到报错的信息。
    实体类中Timestamp属性定义如下:

    @Column(columnDefinition = "timestamp(6)")
    private Timestamp ts;

    2.String类型转换为java.sql.Timestamp

    首先将String转换为java.util.Date,使用unmarshal方法。如下:

    public class DateAdapter extends XmlAdapter<String,Date> {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
        
        @Override
        public Date unmarshal(String v) throws Exception {
            if (!v.contains(".")){
                v+=".000";
            }
            return sdf.parse(v);
        }
        
        @Override   
        public String marshal(Date v) throws Exception {
        return sdf.format(v);
    }

    然后再将java.util.Date转换为java.sql.Timestamp,如下:

    Java.util.Date dateTime = DateAdapter.unmarshal(String v);	
    Timestamp timestamp = new Timestamp(dateTime.getTime());

    详细的JAVA中java.util.Date、java.sql.Timestamp和String之间的互相转换参考了:
    https://www.cnblogs.com/zhang-yan/p/7733005.html

    3. java其他类型和String类型的相互转换

    有时候,为了使用类的反射机制,我们把类的属性类型定义为基本封装类,如基本数据类型的int对应的封装类为Integer。
    Java 八种基本类型和基本类型封装类 参考https://www.cnblogs.com/alternative/p/7520332.html
    java中String类型和基本类型的转换,以及toString的用法 参考https://blog.csdn.net/Handsome2013/article/details/80700637

    展开全文
  • java拼接sql字符串

    千次阅读 2022-03-12 16:50:06
    JAVA涉及将用户输入的字符串变量拼接到sql变量中 String sql="select * from user where username='"+user+"'and password ='"+password+"'"; 打印输出为: 解释: "select * from user where username='"是为了...
  • 使用Java连接SQLserver数据库

    千次阅读 2022-01-01 23:05:09
    使用Java连接SQLserver数据库,使用win10、SQLServer2012、eclipse2020-6、Java1.8.0_311
  • java.sql.Date – Java SQL日期

    千次阅读 2020-07-11 16:24:52
    Java SQL Date class is part of java.sql package. java.sql.Date is a sub class of java.util.Date class. Java SQL Date类是java.sql包的一部分。 java.sql.Date是java.util.Date类的子类。 Java SQL日期 ...
  • import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream;
  • Java如何避免sql注入详解

    千次阅读 2022-01-12 10:41:56
    sql注入是web开发中最常见的一种安全漏洞。可以用它来从数据库获取敏感信息、利用数据库的特性执行添加用户、导出文件等一系列恶意操作,甚至有可能获取数据库乃至系统用户最高权限。 造成sql注入的原因: 程序没有...
  • Oracle Sql语句转换成Mysql Sql语句

    热门讨论 2013-02-17 12:06:40
    Oracle Sql语句转换成Mysql Sql语句java 源码,非常简单,只要给定源oracle sql语句地址,和生成目标文件地址运行即可。
  • java.sql包下给出三个与数据库相关的日期时间类型,分别是: Date:表示日期,只有年月日,没有时分秒。会丢失时间; Time:表示时间,只有时分秒,没有年月日。会丢失日期; Timestamp:表示时间戳,有年月日时分秒...
  • java连接SQL Sever数据库(超详细!)

    万次阅读 多人点赞 2021-06-05 14:12:20
    java编译器:eclipse sqlsever,jdk以及eclipse的安装的就不说了,可以参考其它博客 一、sqlsever的配置 1、Tcp\Ip 配置 首先,在开始搜索框中搜索 sql sever配置管理器,如下图,我们打开它(如果没有这个软件或者...
  • 如何在java中写sql语句

    千次阅读 2022-04-28 15:46:32
    我们知道在java连接数据库之后,需要数据库的sql语句,但是在转化的过程中可能会出现各种各样的问题 那么java的字符串到底是怎样转化为SQL语句的呢 如图所示
  • java检查sql语法是否正确

    千次阅读 2021-03-09 19:36:03
    因为以前作的项目 业务逻辑不能用系统定义的方案作计算 只能是让用户本身输入参数值设置比例计算规则 系统提供sql验证 在通常的项目中也不多用到这种类型的作法 以下:javaimport java.util.List;public class ...
  • 字符串转java.sql.date

    千次阅读 2019-03-10 00:15:20
    将字符串转换为java.sql.date #记录: public static void main(String[] args) { String birthday=&quot;1997-07-21&quot;; java.sql.Date dt=StringToDate(birthday); System.out.println(dt);...
  • java通过JDBC链接SQLServer2016,大学课程的数据库章节的学习使用的是微软的SQLServer,作为老牌数据库,提供一个使用java连接该数据库的方式
  • java.util.Date()转换成java.sql.Date()

    千次阅读 2019-09-05 19:39:24
    java.util.Date()是java.sql.Date()父类,所以将子类转换成父类sql.Date()可以转换成util.Date()可以,而将父类转换成子类不形。 //getTime(),获取毫秒数 new java.sql.Date(new java.util.Date().getTime()) ...
  • Java-Spark系列6-Spark SQL编程实战

    万次阅读 2021-09-26 18:13:10
    文章目录一.Spark DataFrame概述1.1 创建DataFrame1.1.1 通过json文件创建DataFrame1.1.2 通过CSV文件创建DataFrame1.1.3 通过hive table创建DataFrame1.1.4 通过jdbc数据源创建DataFrame二.Spark SQL实战2.1 ...
  • Java面试题超详细讲解系列之八【SQL优化篇】

    万次阅读 多人点赞 2022-04-21 15:18:12
    52条SQL优化合集,专栏持续更新中
  • Java连接mysql数据库并执行sql语句

    千次阅读 2020-06-22 16:25:46
    弄这个主要是为了方便测试单个sql的性能,尝试用java连接数据库并查询,将结果的JDBC ResultSet结果集成List并输出。 import java.sql.*; import java.sql.DriverManager; import com.mysql.jdbc.Connection; ...
  • java代码中拼接sql语句的in条件

    千次阅读 2021-03-11 11:18:49
    有个sql的条件是一个list ,那么就需要使用到in ,这里把list成了数组再用下面逻辑转换拼接即可 list.toArray() /** * 拼接IN条件值 * @param str * @return */ public static String getInCond(String ...
  • 第一步:从SQLserver官网上下载jdbc驱动程序,下载时请注意jdbc的版本与javaJDK的版本是否对应。 图中我们可以看到9.4版本的jdbc是可以同时兼容16.0、11.0 和 1.8的,此时我们就要确定我们的jdk版本号方法为:按win...
  • java.sql.SQLSyntaxErrorException

    千次阅读 2022-03-13 14:36:12
    java.sql.SQLSyntaxErrorException该异常为sql语句错误 Error querying database. Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; 检查检查自己写的sql语句是否拼写错误或者...
  • 原文:java实现oracle和sqlserver数据库转换(包含大数据) 源代码下载地址:http://www.zuidaima.com/share/1889755593444352.htm 原文:java实现oracle和sqlserver数据库转换(包含大数据) 源代码...
  • 在编写程序的时候有时候需要对java.util.Date、java.sql.Date和java.sql.Timestamp等日期时间类型进行转换 方法简述 将A(a)这种日期时间类型转换成B(b)这种日期时间类型 第一步:long time = a.getTime(); //...
  • Java 获取SQL查询语句结果

    千次阅读 2021-02-12 14:30:25
    step1:构造连接Class.forName(...Connection con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/db","root","123");step2:构造语句String sql = "select username,password from t_use...
  • 如何用java连接SQL数据库

    千次阅读 2021-02-07 14:49:16
    个人认为,数据库查询语句并不困难,但在java连接SQL数据库时会出现一些问题,下面我将我的问题与解决方法分享给大家。 1.首先新建JAVA项目(我是用Eclipse,就不过多叙述了) 2.连接SQL数据库需要下载一个jar包 ...
  • Java连接Sqlserver数据库小白包会

    万次阅读 多人点赞 2020-06-01 00:29:14
    进入安全性,设置SQL server和windows身份验证模式。点击确定 即可。 0x03: 设置完密码之后我们需要重新启动数据库: 测试连接: 通上步操作:右键 -> 连接 -> 使用sql server身份进行验证 JAVA配置部分 ...
  • Java连接sqlserver数据库详细操作

    千次阅读 2021-04-25 16:30:46
    文章为Springboot链接SqlServer2012,其他的SqlServer版本基本一致 先说下我使用的框架 springboot 2.4.4 , jdk 1.8 mybatis-plus 3.3.1 1.首先需要引入框架,因现在绝大多数文章里推荐的引入sqljdbc4一般加载不下来...
  • 什么是SQL注入攻击? 所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。具体来说,它是利用现有应用程序,将(恶意)的SQL命令注入到后台...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,501,208
精华内容 600,483
关键字:

sql转java

友情链接: 网站导航栏.zip