Hibernate之使用insert into语句

public void insertIntoCMS(Agent agent) {
Session session = this.getSession();
session.save(agent);
ConfigInfo configInfo = new ConfigInfo();
String roleid = configInfo.getPropertiesValue("parameter","roleId");
insertIntoAgentRole(agent.getAgentId(),roleid);
}
public void insertIntoAgentRole(final String agentId, final String  roleId) {
getHibernateTemplate().executeFind(new HibernateCallback(){
public Object doInHibernate(Session session){
String sql = "insert into p_agentrole (agentid,roleid)  values(?,?)";
Query query= session.createSQLQuery(sql);
query.setString(0, agentId);
query.setString(1, roleId);
query.executeUpdate();
return null;
}
});
}

将 SQL 文件中的 INSERT INTO 语句转化为 Java 对象,一般需要以下步骤: 1. 根据 SQL 文件中的表结构,创建对应的 Java 类,每个字段对应一个属性,并为每个属性提供相应的 getter/setter 方法。 2. 解析 SQL 文件,将 INSERT INTO 语句中的数据解析出来,并组装成一个个对应的 Java 对象。 3. 将解析得到的 Java 对象进行持久化存储,可以使用 JDBC 或者 ORM 框架(如 Hibernate、MyBatis 等)来实现。 举个例子,假设有以下 SQL 语句: ```sql INSERT INTO user (id, name, age) VALUES (1, 'Alice', 20); ``` 则可以创建一个名为 User 的 Java 类,代码如下: ```java public class User { private int id; private String name; private int age; // getter/setter 方法省略 public User(int id, String name, int age) { this.id = id; this.name = name; this.age = age; } } ``` 然后解析 SQL 文件,将 INSERT INTO 语句中的数据解析出来并组装成对应的 Java 对象: ```java String sql = "INSERT INTO user (id, name, age) VALUES (1, 'Alice', 20);"; String[] fields = sql.split("\\(").split("\\)").split(","); // 获取表字段列表 String[] values = sql.split("VALUES \\(").split("\\)").split(","); // 获取字段值列表 Map<String, String> map = new HashMap<>(); for (int i = 0; i < fields.length; i++) { map.put(fields[i].trim(), values[i].trim()); } User user = new User(Integer.parseInt(map.get("id")), map.get("name"), Integer.parseInt(map.get("age"))); ``` 最后使用 JDBC 或者 ORM 框架将 Java 对象进行持久化存储。如果使用 JDBC,可以使用 PreparedStatement 来执行 INSERT 语句,例如: ```java Connection conn = DriverManager.getConnection(url, username, password); PreparedStatement ps = conn.prepareStatement("INSERT INTO user (id, name, age) VALUES (?, ?, ?)"); ps.setInt(1, user.getId()); ps.setString(2, user.getName()); ps.setInt(3, user.getAge()); ps.executeUpdate(); ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值