【问题标题】:How to access a specific table in mysql using spring-mvc如何使用spring-mvc访问mysql中的特定表
【发布时间】:2016-11-03 04:58:03
【问题描述】:

我是 spring-mvc 的新手。我将它与 ma​​ven 依赖项和 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;
    }

我在这个“用户”数据库中有两个表。例如-

  1. 管理员
  2. 正常

我如何单独访问每个。请帮忙。谢谢。

我很抱歉。我知道要做什么。只需在查询中更改表名。在我明白该怎么做之后,这是一个愚蠢的问题。对不起各位

【问题讨论】:

  • 你使用了&lt;property name="password" value="root" /&gt;。你的数据库密码是root?
  • 您的 Java 代码在哪里?在此处发布
  • 嘿杰森。它更像是一个 spring JDBC 模板问题,而不是 spring mvc。无论您使用什么 spring 框架,您都应该能够导入 JDBC 模板并连接到数据库。网络上的大量教程。

标签: java mysql spring-mvc


【解决方案1】:

在这里你会找到完整的解决方案 spring JDBC.

【讨论】:

    猜你喜欢
    • 2016-06-28
    • 2011-05-17
    • 2010-09-17
    • 1970-01-01
    • 1970-01-01
    • 2011-07-08
    • 1970-01-01
    • 1970-01-01
    • 2011-02-09
    相关资源
    最近更新 更多