Springboot+hibernate 操作原生sql语句实现建表,插入数据和查询数据

本文展示了如何在Springboot项目中结合Hibernate使用原生SQL语句进行数据库操作,包括创建表、插入数据以及执行查询。首先,文章通过配置文件和前端HTML解释了数据上传和建表过程,接着提供了查询和插入操作的简要代码示例,关键查询代码为:`SELECT * FROM mlcp_node_result ORDER BY p_id`。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一开始是一个例子(前台到后台),上传数据新建数据表以及插入数据,如果不需要,可直接拉到最后看关键代码和简要代码

先看配置文件 


spring:
  datasource:
    url: (你的数据库地址)
    username: (用户名)
    password: (密码)
    driver-class-name: com.mysql.jdbc.Driver
  jpa:
    show-sql: true
    hibernate:
      ddl-auto: update
    properties:
      hibernate:
        current_session_context_class: org.springframework.orm.hibernate5.SpringSessionContext
package com.mlcp.config;

import javax.persistence.EntityManagerFactory;

import org.hibernate.SessionFactory;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.transaction.annotation.EnableTransactionManagement;

@Configuration
@EnableAutoConfiguration
@EnableTransactionManagement
public class HibernateAutoConfiguration {
	@Bean
	public SessionFactory sessionFactory(EntityManagerFactory factory) {
		if (factory.unwrap(SessionFactory.class) == null) {
			throw new NullPointerException("factory is not a hibernate factory");
		}
		return factory.unwrap(SessionFactory.class);
	}

}

前台Html

这里我是创建表,并且上传csv的数据

<form action="tableactive/submitTable" method="post" id="nextSave">
			<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
				<div class="modal-dialog" role="document">
					<div class="modal-content">
						<div class="modal-header">
							<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
							<h4 class="modal-title" id="myModalLabel">创建表</h4>
						</div>
						<div class="modal-body">

							<p>表名</p>
							<div class="input-group input-group-sm">
								<input type="text" class="form-control" placeholder="请输入表名" aria-describedby="sizing-addon3" style="width:565px;" name="tableName">
							</div>

							<p style="margin-top:15px">保存时长(天)</p>
							<div class="input-group input-group-sm">
								<input name="activeTime" type="text" class="form-control" placeholder="请输入保存时长" aria-describedby="sizing-addon3" style="width:565px;" onkeyup="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'')}else{this.value=this.value.replace(/\D/g,'')}" onafterpaste="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'0')}else{this.value=this.value.replace(/\D/g,'')}">
							</div>

							<p style="margin-top:15px">表结构</p>
							<a class="glyphicon glyphicon-plus-sign" onclick="addrow()">添加一行</a>
							<table class="table table-bordered" id="tablestru">
								<tr>
									<td>列名</td>
									<td>类型</td>
									<td></td>
									<tr>
							</table>
						</div>
						<div class="modal-footer">
							<button type="button" class="btn btn-primary" onclick="nextMyModal()">下一步</button>
							<button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
						</div>
					</div>
				</div>
			</div>

			<div class="modal fade" id="myModal2" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
				<div class="modal-dialog" role="document">
					<div class="modal-content">
						<div class="modal-header">
							<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
							<h4 class="modal-title" id="myModalLabel">上传数据</h4>
						</div>
						<div class="modal-body">
							<button type="button" class="btn btn-primary" style="width:570px;text-align:center;" id="selectFileBtn">
             	  <span class="glyphicon glyphicon-folder-open" id="FileBtnName"> 上传文件</span>
              </button>
							<input type="file" class="hidden" name="file" accept=".csv" id="selectFileInput" />
							<p style="text-align:center;margin-top:15p
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

那个id是什么东西

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值