mysql数据库链接配置
将下面的内容放入jdbc.properties文件中
driverClassName=com.mysql.cj.jdbc.Driver url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&userSSL=false&serverTimezone=GMT%2B8 uName=root password=111111useUnicode=true//使用useUnicode编码 characterEncoding=UTF-8//使用utf-8语言编码 userSSL=false//加密链接 serverTimezone=GMT+8//指定时区(中国是东八区)
下面是jdbc的查询方法。
package jee.pk3; import java.sql.ResultSet; import java.sql.SQLException; import java.util.List; import java.util.Map; import javax.management.RuntimeErrorException; import javax.sql.DataSource; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.ImportBeanDefinitionRegistrar; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.RowMapper; import org.springframework.stereotype.Component; @Component("userDao") public class UserDaoImpl implements UserDao { //结果集对象映射器 //将查询结果赋值给实体类的属性 private static final class UserRowMapper implements RowMapper<User>{ //spring对于结果集中的每一行数据,调用一次mapRow方法,获得一个对象 //rs代表结果集中一行数据,rowNum代表第几行 @Override public User mapRow(ResultSet rs, int rowNum) throws SQLException { User user=new User(); user.setId(rs.getInt("UserId")); user.setName(rs.getString("userName")); user.setAge(rs.getInt("userage")); return user; } } // JdbcTemplate是Spring对JDBC的封装,目的是使JDBC更加易于使用。 //JdbcTemplate是Spring的一部分。JdbcTemplate处理了资源的建立和释放。 //他帮助我们避免一些常见的错误,比如忘了总要关闭连接。他运行核心的JDBC工作流,如Statement的建立和执行,而我们只需要提供SQL语句和提取结果。 private JdbcTemplate template; @Autowired //将spring中的配置信息注入 public void init(DataSource dataSource) { this.template=new JdbcTemplate(dataSource); } @Override public boolean insert(User user) { int n=template.update("insert into users(userName,userage)values(?,?) ",user.getName(),user.getAge()); return false; } @Override public boolean delete(int id) { int n=template.update("delete from users where UserId=?",id); return n==1; } @Override public boolean update(User user) { int n=template.update("update users set userName=?, userage=? where UserId=?",user.getName(),user.getAge(),user.getId()); return n==1; } @Override public User get(int id) { //查询单行数据 return template.queryForObject("select * from users where UserId =?", new UserRowMapper(),id); } //查询单行数据 @Override public Map<String, Object> queryForMap(int id) { //查询单行数据,用列明作为key,用列值作为value放入map中 return template.queryForMap("select * from users where UserId =?",id); } @Override public int getCount() { // return template.queryForObject("select count(*) from users",Integer.class); } @Override public List<User> select() { return template.query("select * from users", new UserRowMapper()); } @Override public List<Map<String, Object>> queryForList() { return template.queryForList("select * from users"); } }