日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網營銷解決方案
通過S框架實現(xiàn)高效獲取數(shù)據庫中的ID(s框架獲取數(shù)據庫中的id)

在進行軟件開發(fā)中,無論是Web開發(fā)還是移動端開發(fā),我們一般都需要和數(shù)據庫打交道。而在數(shù)據庫操作中,主鍵ID是非常重要的一個屬性,因為它通常被作為唯一標識符。因此,正確、高效的獲取數(shù)據庫中的ID十分關鍵。本文將介紹如何。

創(chuàng)新互聯(lián)公司主要從事網站設計制作、成都網站制作、網頁設計、企業(yè)做網站、公司建網站等業(yè)務。立足成都服務沁源,十多年網站建設經驗,價格優(yōu)惠、服務專業(yè),歡迎來電咨詢建站服務:13518219792

一、S框架概述

S框架是由Spring、SpringMVC、MyBatis三個框架整合而成的一個Web應用框架。其中,Spring主要負責管理應用的Bean對象,SpringMVC負責處理請求和響應,MyBatis負責映射Java對象和關系型數(shù)據庫表。S框架具有輕量級、配置簡單、易于理解等優(yōu)點,因此在許多項目中得到了廣泛應用。

二、高效獲取數(shù)據庫中的ID

1.優(yōu)化MySQL數(shù)據庫的主鍵類型

MySQL數(shù)據庫提供多種主鍵類型,包括INT、BIGINT、UUID等。在一般情況下,我們使用INT作為主鍵類型,它可以存儲范圍為-2^31到2^31-1的整數(shù)。如果需要存儲更大的整數(shù),可以選擇BIGINT類型。如果需要在分布式環(huán)境下生成唯一標識符,可以選擇UUID類型。在實際開發(fā)中,建議根據項目需求來選擇合適的主鍵類型。

2.通過MyBatis Generator生成ID

MyBatis Generator是一個自動生成MyBatis框架代碼的工具,它可以自動生成DAO(數(shù)據訪問對象)、Mapper(數(shù)據訪問映射器)和Model(數(shù)據模型)等Java類。其中,Mapper接口封裝了數(shù)據庫的操作方法。在Mapper中,我們可以通過以下方式來獲取自動生成的ID:

“`

SELECT LAST_INSERT_ID()

INSERT INTO user(username,password)

VALUES(#{username},#{password})

“`

其中,selectKey標簽用于獲取自動生成的ID,keyProperty屬性用于指定ID對應的Java屬性名稱,resultType屬性用于指定ID的類型,order屬性用于指定獲取ID的順序。這種方式可以大幅提高獲取ID的效率。

3.通過JDBC獲取自增ID

如果沒有使用MyBatis Generator生成代碼,可以通過JDBC的PreparedStatement對象來獲取自增ID,具體代碼如下:

“`

try(Connection conn = dataSource.getConnection()) {

String sql = “INSERT INTO user(username,password) VALUES(?,?)”;

PreparedStatement ps = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);

ps.setString(1, “admin”);

ps.setString(2, “123456”);

ps.executeUpdate();

try(ResultSet rs = ps.getGeneratedKeys()) {

if(rs.next()) {

int id = rs.getInt(1);

// 獲取自增ID

}

}

}

“`

其中,Statement.RETURN_GENERATED_KEYS表示返回自動生成的ID。在執(zhí)行完SQL語句后,可以通過PreparedStatement對象的getGeneratedKeys()方法獲取自動生成的ID。

三、S框架應用實例

考慮一個簡單的用戶管理系統(tǒng),包括用戶的添加、查詢、修改和刪除等操作。在數(shù)據庫中,我們建立一個user表,包括id、username和password三個字段。接下來,我們將基于S框架實現(xiàn)用戶管理系統(tǒng),并演示如何獲取數(shù)據庫中的ID。

1.創(chuàng)建項目

使用Maven創(chuàng)建一個S框架項目,具體步驟省略。

2.配置POM文件

在POM文件中添加Spring、SpringMVC和MyBatis等依賴。

“`

org.springframework

spring-context

5.3.5

org.springframework

spring-webmvc

5.3.5

org.mybatis

mybatis

3.5.6

mysql

mysql-connector-java

8.0.23

“`

3.配置數(shù)據源

在Spring配置文件中配置數(shù)據源,具體配置方式參見MyBatis官方文檔。

4.創(chuàng)建Mapper

創(chuàng)建UserMapper接口,定義user表的增、刪、改、查方法。

“`

public interface UserMapper {

int insert(User user);

int delete(int id);

int update(User user);

User selectById(int id);

List selectAll();

}

“`

其中,User為實體類,包含id、username和password三個屬性。

5.創(chuàng)建XML文件

創(chuàng)建UserMapper對應的XML文件,包含SQL語句和映射規(guī)則。在Mapper XML文件中,我們可以通過以下方式來獲取自動生成的ID。

“`

SELECT nextval(‘user_id_seq’)

INSERT INTO user(id,username,password)

VALUES(#{id},#{username},#{password})

“`

其中,nextval(‘user_id_seq’)用于獲取當前序列號,BEFORE表示在插入前獲取自動生成的ID。在插入完成后,id屬性會自動賦值為自動生成的ID。

6.創(chuàng)建Service

創(chuàng)建UserService服務,對UserMapper進行封裝。

“`

@Service

public class UserService {

@Autowired

private UserMapper userMapper;

public int addUser(User user) {

return userMapper.insert(user);

}

public int deleteUser(int id) {

return userMapper.delete(id);

}

public int updateUser(User user) {

return userMapper.update(user);

}

public User getUserById(int id) {

return userMapper.selectById(id);

}

public List getAllUser() {

return userMapper.selectAll();

}

}

“`

其中,@Service注解表示該類為Spring容器中的Bean對象,@Autowired注解表示自動注入UserMapper。

7.創(chuàng)建Controller

創(chuàng)建UserController控制器,處理HTTP請求和響應。

“`

@Controller

@RequestMapping(value=”/user”)

public class UserController {

@Autowired

private UserService userService;

@RequestMapping(value=”/add”,method=RequestMethod.POST)

public String addUser(HttpServletRequest request) {

String username = request.getParameter(“username”);

String password = request.getParameter(“password”);

User user = new User();

user.setUsername(username);

user.setPassword(password);

userService.addUser(user);

return “redirect:/user/list”;

}

}

“`

其中,@Controller注解表示該類為SpringMVC的控制器,@RequestMapping注解表示URL的映射關系。在addUser方法中,我們通過HttpServletRequest對象獲取請求參數(shù),并將其封裝為User對象,最后調用UserService的addUser方法實現(xiàn)用戶的添加。

8.實驗驗證

配置Tomcat服務器,啟動項目,并使用Postman測試用戶信息的添加和查詢操作。

“`

// 添加用戶

POST http://localhost:8080/user/add

Body:

username=admin&password=123456

// 查詢用戶

GET http://localhost:8080/user/list

“`

在MySQL數(shù)據庫中查看user表,可以發(fā)現(xiàn)ID自動增長,并正確地添加到數(shù)據庫中。

四、

相關問題拓展閱讀:

  • 如何從ListView中獲得數(shù)據庫記錄的Id,并刪除

如何從ListView中獲得數(shù)據庫記錄的Id,并刪除

直接通過笑指cursor指向當前的Item,然后獲取當前數(shù)鎮(zhèn)培據記錄的id,調用delete方法就可以了,delete方法如下public void delete(long rowId) { String sql = “DELETE FROM ” + DB_TABLENAME + ” WHERE “御升唯 + KEY_ROWID + “=” + rowId; try { dbInstance.execSQL(sql); Log.i(“刪除”,”成功刪除記錄”+rowId); } catch(SQLException e) { Log.i(“刪除”,”刪除記錄失敗”); } }

牛帖,這里必須頂起。

s框架獲取數(shù)據庫中的id的介紹就聊到這里吧,感謝你花時間閱讀本站內容,更多關于s框架獲取數(shù)據庫中的id,通過S框架實現(xiàn)高效獲取數(shù)據庫中的ID,如何從ListView中獲得數(shù)據庫記錄的Id,并刪除的信息別忘了在本站進行查找喔。

成都創(chuàng)新互聯(lián)科技有限公司,是一家專注于互聯(lián)網、IDC服務、應用軟件開發(fā)、網站建設推廣的公司,為客戶提供互聯(lián)網基礎服務!
創(chuàng)新互聯(lián)(www.cdcxhl.com)提供簡單好用,價格厚道的香港/美國云服務器和獨立服務器。創(chuàng)新互聯(lián)成都老牌IDC服務商,專注四川成都IDC機房服務器托管/機柜租用。為您精選優(yōu)質idc數(shù)據中心機房租用、服務器托管、機柜租賃、大帶寬租用,可選線路電信、移動、聯(lián)通等。


文章標題:通過S框架實現(xiàn)高效獲取數(shù)據庫中的ID(s框架獲取數(shù)據庫中的id)
文章鏈接:http://www.dlmjj.cn/article/dhhcppo.html