spring boot框架的Java项目的优点:
一个spring boot框架的Java项目要实现与数据库的连接,需要以下步骤:
在application.properties或application.yml文件中定义数据库连接信息,包括数据库URL、用户名、密码等。
在pom.xml文件中添加相应的数据库驱动依赖,例如MySQL、Oracle等。
在配置类中创建数据源,可以使用Spring Boot提供的自动配置或手动配置。
使用JdbcTemplate类来执行SQL语句,JdbcTemplate是Spring框架提供的一个简化数据库操作的工具类。
在DAO层中定义数据库操作的接口和实现类,使用JdbcTemplate来执行SQL语句。
在Service层中调用DAO层的方法,实现业务逻辑。
在Controller层中调用Service层的方法,处理请求和响应。
spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.26</version>
</dependency>
@Configuration
public class DataSourceConfig {
@Bean
@Primary
@ConfigurationProperties(prefix = "spring.datasource")
public DataSource dataSource() {
return DataSourceBuilder.create().build();
}
}
@Configuration
public class JdbcConfig {
@Bean
public JdbcTemplate jdbcTemplate(DataSource dataSource) {
return new JdbcTemplate(dataSource);
}
}
@Repository
public class UserDaoImpl implements UserDao {
@Autowired
private JdbcTemplate jdbcTemplate;
@Override
public User getUserById(int id) {
String sql = "select * from user where id=?";
User user = jdbcTemplate.queryForObject(sql, new Object[]{id}, new BeanPropertyRowMapper<>(User.class));
return user;
}
}
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserDao userDao;
@Override
public User getUserById(int id) {
return userDao.getUserById(id);
}
}
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/{id}")
public User getUserById(@PathVariable int id) {
return userService.getUserById(id);
}
}