spring boot JAP调用mysql存储过程

    因为要对接项目的mysql数据库,部分语句要使用到mysql的存储过程,保证调用的一致性。

    在网上查找了好多种方式,都很复杂,而且我试验了好多种,都没有成功。最后使用了

EntityManager的createNamedStoredProcedureQuery调用,成功执行mysql的存储过程。

      现将方式记录,以便后面查阅。

1.mysql的存储过程很复杂,主要是用户注册,需要向两个表中插入数据

CREATE DEFINER=`demodb`@`%` PROCEDURE `user_register`(
            in_password VARCHAR(50),
            in_device_os VARCHAR(20),
            in_device_os_version VARCHAR(30),
            in_device_support_tele INT,
            in_device_manufactory VARCHAR(40),
            in_device_model VARCHAR(30),
            in_app_mobile_version VARCHAR(20),
            in_gmail VARCHAR(30),
            in_verified TINYINT,
            in_cc VARCHAR(20),
            in_account VARCHAR(128),
            in_mn VARCHAR(20),
            OUT ret_passwd VARCHAR(50),
            OUT ret_userid VARCHAR(30),
            OUT ret_flag INT)
BEGIN
DECLARE var_get_userid VARCHAR(30);
DECLARE start_pos INT;
DECLARE var_mn VARCHAR(30);
DECLARE EXIT HANDLER FOR SQLEXCEPTION 
BEGIN
SET ret_flag=-1;
ROLLBACK;
END;
START TRANSACTION;     
SET @dt = NOW();
SET @dtunix=UNIX_TIMESTAMP(@dt);
SET @sid = REPLACE(UUID(),'-','');
SET start_pos=CEIL(RAND()*1000);
SELECT id INTO var_get_userid
FROM useridtable
LIMIT start_pos,1;
DELETE FROM useridtable 
WHERE id=var_get_userid;
IF in_mn='' THEN
   SET var_mn=CON
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Spring Boot中使用Hibernate需要进行以下步骤: 1. 添加相关依赖 在`pom.xml`文件中添加以下依赖: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <!-- H2 database --> <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> <scope>runtime</scope> </dependency> ``` 2. 配置数据源 在`application.properties`文件中配置数据源信息,例如: ```properties spring.datasource.url=jdbc:h2:mem:testdb spring.datasource.driverClassName=org.h2.Driver spring.datasource.username=sa spring.datasource.password= ``` 3. 创建实体类 创建对应的实体类,例如: ```java @Entity @Table(name = "users") public class User { @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id; @Column(name = "username") private String username; @Column(name = "password") private String password; // getter and setter methods } ``` 4. 创建数据访问对象(DAO) 创建对应的数据访问对象(DAO),例如: ```java @Repository public interface UserRepository extends JpaRepository<User, Long> { User findByUsername(String username); } ``` 5. 使用Hibernate进行数据操作 在需要使用Hibernate进行数据操作的地方,例如Service层中,注入对应的DAO对象,并使用相应的方法进行数据操作,例如: ```java @Service public class UserService { @Autowired private UserRepository userRepository; public User findByUsername(String username) { return userRepository.findByUsername(username); } public void save(User user) { userRepository.save(user); } } ``` 以上就是在Spring Boot中使用Hibernate整合JPA的基本步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值