String sql = "{call college.create_student(?,?,?,?)}";
String studentUniqueNum = jdbcTemplate.queryForList(sql,
new Object[] { roll_num,name,phone,email},String.class);
在java Class中
public int CalculateScore(char color)
{
var boardStr = String.Join("", gameBoard);
return GetCharacterSequences(color, boardStr)
.Sum(str => str.Length * 2);
}
//Returns same character sequences of length more than two.
private IEnumerable<string> GetCharacterSequences(char color, string boardStr)
{
return Regex.Matches(boardStr, $@"({color})\1+").OfType<Match>()
.SelectMany(match => match.Groups.OfType<Group>())
.Select(@group => @group.Value)
.Where(str => str.Length > 1);
}
我正在尝试在存储过程中生成主键。请帮忙
PS:我是第一次这样做。
答案 0 :(得分:0)
对于简单的过程,您可以使用jdbcTemplate的更新方法:
jdbcTemplate.update("call college.create_student(?, ?, ?, ?)", param1, param2, param3, param4);
此方法将返回您的主键。
答案 1 :(得分:0)
实现目标的步骤
创建一个pojo类,它保存Name(String)和Type(int)需要与store过程输入变量和另一个pojo匹配 具有相同参数的输出类。
在服务类中,为输入创建一个2 List,为输出上面创建的pojo类创建一个。
实例化pojo并添加名称和类型,该名称和类型应该是与商店过程输入和类型参数匹配的名称 对于所有输入变量。
创建一个扩展Spring框架StoredProcedure的函数,并获取jdbctemaplate,过程名称,输入和输出 list。迭代这个列表并使用spring的delcareparameter 框架工作为每个输入和创建Sql参数 输出参数然后编译。
创建一个hashMap,用于映射输入参数的值,其中key是输入变量名称,value是实际输入。
最后一步使用spring的execute方法并传递上一步中创建的hashmap。
最终结果再次返回一个hashmap,它实际上保存了输出参数及其值(如步骤2中所述)。