java mysql template_java mysql模板

Java

mysql的模版,很优雅。同时也兼顾了性能PreparedStatement和安全性(防SQL注入)两方面。对于比较简单的数据库操作基本满足要求。

package dao;

import java.sql.Connection;

import java.sql.DriverManager;

import

java.sql.PreparedStatement;

import java.sql.ResultSet;

public class BaseDao {

public static final String DRIVER =

"oracle.jdbc.driver.OracleDriver";

public static final String URL =

"jdbc:oracle:thin:@localhost:1521:ORCL";

public static final String

USERNAME = "ma";

public static final String PASSWORD = "malei";

Connection connection = null;

PreparedStatement preparedStatement =

null;

ResultSet resultSet = null;

public Connection

getConnection() throws Exception {

Class.forName(DRIVER);

connection = DriverManager.getConnection(URL,USERNAME,PASSWORD);

return connection;

}

public ResultSet executeQuery(String sql)

throws Exception {

connection = this.getConnection();

preparedStatement = connection.prepareStatement(sql);

resultSet =

preparedStatement.executeQuery();

return resultSet;

}

public int executeUpdate(String sql,Object[] obj) throws Exception

{

connection = this.getConnection();

preparedStatement =

connection.prepareStatement(sql);

for(int i

=0;i

preparedStatement.setObject(i+1,

obj[i]);

}

return preparedStatement.executeUpdate();

}

public void closeAll() throws Exception {

if(null !=

resultSet){

resultSet.close();

}

if(null !=

preparedStatement){

preparedStatement.close();

}

if(null != connection){

connection.close();

}

}

}

原文:http://www.cnblogs.com/hsqblogs/p/3721653.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,首先我们需要创建一个对应的数据表,表结构如下: ```sql CREATE TABLE SMStemplate ( seq_no INT(11) NOT NULL AUTO_INCREMENT, template_id VARCHAR(50) NOT NULL, push_plan_tp_cd VARCHAR(50) NOT NULL, template_name VARCHAR(50) NOT NULL, template_content TEXT NOT NULL, creator_no VARCHAR(50) NOT NULL, create_time DATETIME NOT NULL, modifier_no VARCHAR(50) NOT NULL, mod_time DATETIME NOT NULL, opro_instno VARCHAR(50) NOT NULL, PRIMARY KEY (seq_no) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ``` 接下来我们需要编写对应的实体类,代码如下: ```java public class SMSTemplate { private int seq_no; private String template_id; private String push_plan_tp_cd; private String template_name; private String template_content; private String creator_no; private Date create_time; private String modifier_no; private Date mod_time; private String opro_instno; // getter和setter方法省略 } ``` 然后我们需要编写对应的Mapper接口,代码如下: ```java public interface SMSTemplateMapper { // 新增短信模板 void addSMSTemplate(SMSTemplate smsTemplate); // 根据seq_no删除短信模板 void deleteSMSTemplate(int seq_no); // 更新短信模板 void updateSMSTemplate(SMSTemplate smsTemplate); // 根据seq_no查询短信模板 SMSTemplate getSMSTemplateBySeqNo(int seq_no); } ``` 接下来我们需要编写对应的Mapper.xml文件,代码如下: ```xml <mapper namespace="com.example.mapper.SMSTemplateMapper"> <!-- 新增短信模板 --> <insert id="addSMSTemplate"> INSERT INTO SMStemplate(template_id, push_plan_tp_cd, template_name, template_content, creator_no, create_time, modifier_no, mod_time, opro_instno) VALUES(#{template_id}, #{push_plan_tp_cd}, #{template_name}, #{template_content}, #{creator_no}, #{create_time}, #{modifier_no}, #{mod_time}, #{opro_instno}) </insert> <!-- 根据seq_no删除短信模板 --> <delete id="deleteSMSTemplate"> DELETE FROM SMStemplate WHERE seq_no=#{seq_no} </delete> <!-- 更新短信模板 --> <update id="updateSMSTemplate"> UPDATE SMStemplate SET template_id=#{template_id}, push_plan_tp_cd=#{push_plan_tp_cd}, template_name=#{template_name}, template_content=#{template_content}, modifier_no=#{modifier_no}, mod_time=#{mod_time}, opro_instno=#{opro_instno} WHERE seq_no=#{seq_no} </update> <!-- 根据seq_no查询短信模板 --> <select id="getSMSTemplateBySeqNo" resultType="com.example.entity.SMSTemplate"> SELECT * FROM SMStemplate WHERE seq_no=#{seq_no} </select> </mapper> ``` 最后我们就可以在Java代码中使用Mapper接口进行增删改查操作了,示例代码如下: ```java @Autowired private SMSTemplateMapper smsTemplateMapper; // 新增短信模板 SMSTemplate smsTemplate = new SMSTemplate(); smsTemplate.setTemplate_id("template_001"); smsTemplate.setPush_plan_tp_cd("plan_001"); smsTemplate.setTemplate_name("测试模板"); smsTemplate.setTemplate_content("测试模板内容"); smsTemplate.setCreator_no("admin"); smsTemplate.setCreate_time(new Date()); smsTemplate.setModifier_no("admin"); smsTemplate.setMod_time(new Date()); smsTemplate.setOpro_instno("inst_001"); smsTemplateMapper.addSMSTemplate(smsTemplate); // 根据seq_no删除短信模板 smsTemplateMapper.deleteSMSTemplate(1); // 更新短信模板 SMSTemplate smsTemplate = smsTemplateMapper.getSMSTemplateBySeqNo(2); smsTemplate.setTemplate_name("更新后的测试模板"); smsTemplate.setMod_time(new Date()); smsTemplateMapper.updateSMSTemplate(smsTemplate); // 根据seq_no查询短信模板 SMSTemplate smsTemplate = smsTemplateMapper.getSMSTemplateBySeqNo(2); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值