後台插入語句和更新語句的的兩種設計思想

2021-09-26 09:17:02 字數 1935 閱讀 2385

public void updateactivityphoto(activityphoto activityphoto)

public void addactivityphoto(activityphoto activityphoto)

這種思想是語句把錶的字段都寫全,那麼這種需要在後台把傳入的字段寫全,沒有的值的傳入null.

private string emptytonull(string value)

activity.setstarttime(emptytonull(activity.getstarttime()));

activity.setendtime(emptytonull(activity.getendtime()));

activity.setregstarttime(emptytonull(activity.getregstarttime()));

activity.setregendtime(emptytonull(activity.getregendtime()));

優點:寫dao層時省時

缺點:寫controller層時費力,需要傳所有的字段

另一種思想是,插入時語句動態,後台的寫法只需要寫部分字段

public void updateticketsubjectmanage(ticketsubjectmanage ticketsubjectmanage)

if (null != ticketsubjectmanage.getareaid() && ticketsubjectmanage.getareaid() > 0)

if (!stringutil.isempty(ticketsubjectmanage.getdeptname()))

if (!stringutil.isempty(ticketsubjectmanage.getdeptname()))

if (!stringutil.isempty(ticketsubjectmanage.getdeptname()))

if (!stringutil.isempty(ticketsubjectmanage.getdeptname()))

if (!stringutil.isempty(ticketsubjectmanage.getdeptname()))

if (!stringutil.isempty(ticketsubjectmanage.getdeptname()))

if (!stringutil.isempty(ticketsubjectmanage.getdeptname()))

if (!stringutil.isempty(ticketsubjectmanage.getdeptname()))

if (!stringutil.isempty(ticketsubjectmanage.getdeptname()))

if (!stringutil.isempty(ticketsubjectmanage.getdeptname()))

if (!stringutil.isempty(ticketsubjectmanage.getdeptname()))

if (!stringutil.isempty(ticketsubjectmanage.getdeptname()))

if (!stringutil.isempty(ticketsubjectmanage.getdeptname()))

if (!stringutil.isempty(ticketsubjectmanage.getdeptname()))

sql=sql+" where ticketid=:ticketid";

this.namedjdbctemplate.update(sql, map);

}這種後台就方便了,不需要傳入所有的字段。

優點:controller層省時。

缺點:dao層很費時。

在現實的開發中,兩種思想都會有人採用,本人更傾向於第二種。

mysql語句更新 mysql的更新語句怎麼寫

1.mysql更新資料語句怎麼寫 if mysql num rows rs 0 else 當有記錄 foreach user info as arr mysql update k99 set nickname arr nickname where id arr id 更新表 切記要加where條件,...

mysql的插入語句的條件插入

mysql的建立表語句 create table coordination template share id int 11 not null auto increment,regional id int 11 default null,org id int 11 default null comm...

更新語句的執行過程

更新語句的流程跟查詢語句大體相同 1.連線資料庫 聯結器的工作 2.在乙個表上有更新的時候,跟這個表有關的查詢快取會失效 3.分析器會通過詞法和語法解析知道這是一條更新語句 4.優化器決定要使用哪個索引 更新也需要先查找到目標行 5.執行器負責具體執行,找到需要更新的行,然後更新。與查詢流程不一樣的...