【发布时间】:2016-11-03 04:58:03
【问题描述】:
我是 spring-mvc 的新手。我将它与 maven 依赖项和 JDBC 模板一起使用。
我可以访问我的数据库,但似乎找不到任何关于如何设置连接以便 spring-mvc 将数据放入该数据库中的特定表的答案。所以简而言之,我试图通过 spring-mvc 在同一个数据库中访问一个特定的表。我尝试研究但找不到任何答案。
这是dispatch.xml 中的数据库访问看起来像:
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/user" />
<!-- property name="connectionProperties" value="useUnicode=yes;characterEncoding=utf8;" -->
<property name="username" value="root" />
<property name="password" value="root" />
</bean>
这是 DAO 实现-
@Component
public class PerformDaoImplmnt implements PerformDao {
@Autowired
DataSource dataSource;
private static final String SQL_INSERT = "insert into user (name, password, email, area, phone) values (?, ?, ?, ?, ?)";
private static final String SQL_UPDATE = "update user set password=?, email=?, area=?, phone=? where name=?";
private static final String SQL_FIND_ONE = "select * from user where name = ?";
private static final String SQL_FIND_ALL = "select * from user order by phone";
private static final String SQL_DELETE = "delete from user where phone = ?";
@Override
public UserData findOne(long id) {
// TODO Auto-generated method stub
// JdbcTemplate jdbc = new JdbcTemplate(dataSource);
return null;
}
@Override
public List<UserData> findAll() {
// TODO Auto-generated method stub
return null;
}
@Override
public String insert(UserData user) {
// TODO Auto-generated method stub
JdbcTemplate jdbc = new JdbcTemplate(dataSource);
int row = jdbc.update(SQL_INSERT, new Object[] { user.getFullName(), user.getPass(), user.getEmail(),
user.getArea(), user.getNumber()});
if(row == 1){
return "success";
}
return null;
}
@Override
public void update(UserData user) {
// TODO Auto-generated method stub
}
@Override
public void delete(UserData user) {
// TODO Auto-generated method stub
}
之后, 这就是我在我的数据库中插入数据的方式-
@Controller
public class Register {
@Autowired
PerformDao userDao;
@RequestMapping(value="/processRegistration", method=RequestMethod.POST)
public ModelAndView processRegistrationForm(@Valid @ModelAttribute("user") UserData user, BindingResult result,
RedirectAttributes redirect){
if(result.hasErrors()){
ModelAndView backToRegisterPage = new ModelAndView("register");
return backToRegisterPage;
}
ModelAndView profilePage = new ModelAndView();
profilePage.setViewName("redirect:profile");
String something = userDao.insert(user);
redirect.addFlashAttribute("user",user);
return profilePage;
}
我在这个“用户”数据库中有两个表。例如-
- 管理员
- 正常
我如何单独访问每个。请帮忙。谢谢。
我很抱歉。我知道要做什么。只需在查询中更改表名。在我明白该怎么做之后,这是一个愚蠢的问题。对不起各位
【问题讨论】:
-
你使用了
<property name="password" value="root" />。你的数据库密码是root? -
您的 Java 代码在哪里?在此处发布
-
嘿杰森。它更像是一个 spring JDBC 模板问题,而不是 spring mvc。无论您使用什么 spring 框架,您都应该能够导入 JDBC 模板并连接到数据库。网络上的大量教程。
标签: java mysql spring-mvc