当前位置: 首页 > news >正文

山东济南建网站公司济源市城乡建设局网站

山东济南建网站公司,济源市城乡建设局网站,百度seo优化公司,wordpress百度主动插件当然#xff0c;以下是一个使用Guice、JDBC和Maven实现接口项目的具体例子。这个项目将展示如何创建一个简单的用户管理应用#xff0c;包括用户信息的增删改查#xff08;CRUD#xff09;操作。 ### 1. Maven pom.xml 文件 首先确保你的pom.xml文件包含必要的依赖#…当然以下是一个使用Guice、JDBC和Maven实现接口项目的具体例子。这个项目将展示如何创建一个简单的用户管理应用包括用户信息的增删改查CRUD操作。 ### 1. Maven pom.xml 文件 首先确保你的pom.xml文件包含必要的依赖 xml project xmlnshttp://maven.apache.org/POM/4.0.0          xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance          xsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd     modelVersion4.0.0/modelVersion     groupIdcom.example/groupId     artifactIdguice-jdbc-maven/artifactId     version1.0-SNAPSHOT/version properties         java.version17/java.version         guice.version5.1.0/guice.version         mysql.connector.version8.0.33/mysql.connector.version     /properties dependencies         !-- Guice --         dependency             groupIdcom.google.inject/groupId             artifactIdguice/artifactId             version${guice.version}/version         /dependency !-- MySQL Connector --         dependency             groupIdmysql/groupId             artifactIdmysql-connector-java/artifactId             version${mysql.connector.version}/version         /dependency !-- SLF4J for logging (Optional) --         dependency             groupIdorg.slf4j/groupId             artifactIdslf4j-api/artifactId             version1.7.36/version         /dependency         dependency             groupIdorg.slf4j/groupId             artifactIdslf4j-simple/artifactId             version1.7.36/version         /dependency !-- JUnit for testing (Optional) --         dependency             groupIdjunit/groupId             artifactIdjunit/artifactId             version4.13.2/version             scopetest/scope         /dependency     /dependencies build         plugins             plugin                 groupIdorg.apache.maven.plugins/groupId                 artifactIdmaven-compiler-plugin/artifactId                 version3.8.1/version                 configuration                     source${java.version}/source                     target${java.version}/target                 /configuration             /plugin         /plugins     /build /project ### 2. 创建数据源提供者 DataSourceProvider.java 创建一个类来配置和提供数据库连接 java package com.example.provider; import com.google.inject.Provider; import javax.sql.DataSource; import com.zaxxer.hikari.HikariConfig; import com.zaxxer.hikari.HikariDataSource; public class DataSourceProvider implements ProviderDataSource {     Override     public DataSource get() {         HikariConfig config new HikariConfig();         config.setJdbcUrl(jdbc:mysql://localhost:3306/mydb);         config.setUsername(root);         config.setPassword(password);         config.addDataSourceProperty(cachePrepStmts, true);         config.addDataSourceProperty(prepStmtCacheSize, 250);         config.addDataSourceProperty(prepStmtCacheSqlLimit, 2048);         return new HikariDataSource(config);     } } ### 3. 定义实体类 User.java 定义一个简单的用户实体类 java package com.example.model; public class User {     private Integer id;     private String username;     private String password; // Constructors, Getters and Setters     public User() {} public User(Integer id, String username, String password) {         this.id id;         this.username username;         this.password password;     } // Getters and Setters... } ### 4. 创建DAO接口 UserDao.java 定义一个用于与数据库交互的接口 java package com.example.dao; import com.example.model.User; import java.util.List; public interface UserDao {     void save(User user);     void update(User user);     void delete(int id);     User findById(int id);     ListUser findAll(); } ### 5. 实现DAO UserDaoImpl.java 实现上述接口并编写具体的SQL逻辑 java package com.example.dao.impl; import com.example.dao.UserDao; import com.example.model.User; import com.google.inject.Inject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import javax.sql.DataSource; import java.sql.*; import java.util.ArrayList; import java.util.List; public class UserDaoImpl implements UserDao { private static final Logger logger LoggerFactory.getLogger(UserDaoImpl.class); private final DataSource dataSource; Inject     public UserDaoImpl(DataSource dataSource) {         this.dataSource dataSource;     } Override     public void save(User user) {         try (Connection conn dataSource.getConnection();              PreparedStatement pstmt conn.prepareStatement(                      INSERT INTO users(username, password) VALUES (?, ?),                      Statement.RETURN_GENERATED_KEYS)) { pstmt.setString(1, user.getUsername());             pstmt.setString(2, user.getPassword()); int affectedRows pstmt.executeUpdate();             if (affectedRows 0) {                 try (ResultSet rs pstmt.getGeneratedKeys()) {                     if (rs.next()) {                         user.setId(rs.getInt(1));                     }                 }             }         } catch (SQLException e) {             logger.error(Error saving user, e);         }     } // Implement other methods similarly... Override     public ListUser findAll() {         ListUser users new ArrayList();         try (Connection conn dataSource.getConnection();              PreparedStatement pstmt conn.prepareStatement(SELECT * FROM users);              ResultSet rs pstmt.executeQuery()) { while (rs.next()) {                 User user new User(                         rs.getInt(id),                         rs.getString(username),                         rs.getString(password)                 );                 users.add(user);             }         } catch (SQLException e) {             logger.error(Error finding all users, e);         }         return users;     } } ### 6. 创建服务层 UserService.java 定义一个服务层来处理业务逻辑 java package com.example.service; import com.example.dao.UserDao; import com.example.model.User; import com.google.inject.Inject; import java.util.List; public class UserService {     private final UserDao userDao; Inject     public UserService(UserDao userDao) {         this.userDao userDao;     } public void createUser(User user) {         userDao.save(user);     } public void updateUser(User user) {         userDao.update(user);     } public void deleteUser(int id) {         userDao.delete(id);     } public User getUserById(int id) {         return userDao.findById(id);     } public ListUser getAllUsers() {         return userDao.findAll();     } } ### 7. 配置Guice模块 AppModule.java 配置Guice以管理依赖注入 java package com.example.config; import com.example.dao.UserDao; import com.example.dao.impl.UserDaoImpl; import com.example.provider.DataSourceProvider; import com.example.service.UserService; import com.google.inject.AbstractModule; public class AppModule extends AbstractModule {     Override     protected void configure() {         bind(DataSourceProvider.class).asEagerSingleton();         bind(UserDao.class).to(UserDaoImpl.class);         bind(UserService.class);     } } ### 8. 应用程序入口 Main.java 创建应用程序入口点并初始化Guice java package com.example; import com.example.config.AppModule; import com.example.service.UserService; import com.google.inject.Guice; import com.google.inject.Injector; public class Main {     public static void main(String[] args) {         Injector injector Guice.createInjector(new AppModule());         UserService userService injector.getInstance(UserService.class); // 使用userService进行CRUD操作...         // 示例userService.createUser(new User(null, john_doe, password));     } } ### 注意事项 - 确保你已经正确设置了数据库表结构例如users表应该有id, username, 和password字段。 - 根据实际情况调整包名、路径以及其他细节。 - 如果你打算在生产环境中使用请考虑更安全的密码存储方式如加密或哈希以及更复杂的错误处理机制。 以上代码示例展示了如何使用Guice和JDBC构建一个简单的Java应用程序。希望这能帮助你开始构建自己的项目。如果有任何问题或需要进一步的帮助请随时提问
http://www.dnsts.com.cn/news/154540.html

相关文章:

  • 点了网站域名会跳转上海商用厨房设计
  • 快手里做网站荣耀封面的视频网页版微信登不上去怎么回事
  • 网站兼容9深圳外贸建站
  • 上海中小企业网站友链申请
  • 怎么做公司免费网站网站建立项目步骤
  • 网站刚做怎么做seo优化在线模板制作
  • 应持续抓好二级网站的建设工作太湖县网站建设公司
  • 棋牌网站怎么做优化蓝屏的钙 WordPress
  • 商业网站建设费用服务器租用免费试用
  • 做付费软件网站花式表白网址
  • 中国国际贸易单一窗口网站众筹网站建设方案
  • ps切片以后 怎么做网站微信开发工具文档
  • 网站备案号显示红色如果网站没有做icp备案吗
  • 城乡厅建设部网站首页数据分析网站html模板下载
  • 湛江网站建设外包找网站建设公司哪家最好
  • 网站建设广告平台推广网络建设公司前景
  • 网站建设思维导图模版电商哪个平台好做
  • 平板做网站服务器谁能给做网站
  • 做网站用什么技术好低价网站建设费用预算
  • 个人博客网站源码外贸网站建设公司如何
  • 房产网站代理详情页用什么软件制作
  • 网站运营做内容vue.js 可以做网站吗
  • 有个新网站能提供做任务的阅币漫画网站
  • 网站建设与管理专业就业同企网站建设做网站
  • 形容网站页面做的好的词语设计图库
  • asp网站链接access英语网站的建设需要
  • 精准扶贫电商网站建设计划书电子商务网站开发模块流程图
  • 延吉最好的网站建设公司个人网站用什么服务器
  • 海淀网站建设wordpress安装无法连接数据库连接
  • 个人网站空间他达拉非能延时多久