博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
springMvc入门教程2(集成mybatis和参数绑定)
阅读量:4682 次
发布时间:2019-06-09

本文共 7943 字,大约阅读时间需要 26 分钟。

源码地址:http://files.cnblogs.com/files/suzixuan/springMvcGuide.zip

数据库使用:mysql5.6

mybatis版本:mybatis-3.4.4

根据上次的项目,做了文件夹修改,整体目录如下:

 

1,修改spring-servlet.xml的文件目录,放在了Java Resources/resources下

web.xml文件内容修改,修改了spring-servlet.xml的加载目录

2,新添加jar包

mybatis-3.4.4.jar

mysql-connector-java-5.1.42-bin.jar

3,新增如上图的文件夹若干

4,增加web.xml中servlet拦截器,用于做静态文件解析。

5,增加mybatis的配置文件

6,添加控制器HomeController下的方法(public String Demo(Model model,@PathVariable("id") int id) )

7,建表脚本:

DROP TABLE IF EXISTS `t_user`;CREATE TABLE `t_user` (  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',  `username` varchar(255) DEFAULT NULL,  `password` varchar(255) DEFAULT NULL,  `account` varchar(255) DEFAULT NULL,  PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8;

 

下面主要讲解myBatis的配置

myBatis需要jar包:mybatis-3.4.4.jar,mysql-connector-java-5.1.42-bin.jar

配置文件:mysql.properties,mybatis.cfg.xml

jdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/testjdbc.username=rootjdbc.password=

建立Model类

package model;import java.io.Serializable;public class UserBean implements Serializable{    private static final long serialVersionUID = 1L;    private Integer id;    private String username;    private String password;    private Double account;    private String name;        public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public UserBean() {        super();    }        public UserBean(String username, String password, Double account) {        super();        this.username = username;        this.password = password;        this.account = account;    }    public UserBean(Integer id, String username, String password, Double account) {        super();        this.id = id;        this.username = username;        this.password = password;        this.account = account;    }    public Integer getId() {        return id;    }    public void setId(Integer id) {        this.id = id;    }    public String getUsername() {        return username;    }    public void setUsername(String username) {        this.username = username;    }    public String getPassword() {        return password;    }    public void setPassword(String password) {        this.password = password;    }    public Double getAccount() {        return account;    }    public void setAccount(Double account) {        this.account = account;    }    @Override    public String toString() {        return "UserBean [id=" + id + ", username=" + username + ", password="                + password + ", account=" + account + "]";    }            }

 

 

mapper文件:UserMapper.xml

insert into t_user (username,password,account) values (#{username},#{password},#{account})
update t_user set username=#{username},password=#{password},account=#{account} where id=#{id}
delete from t_user where id=#{id}

建立UserMapper接口:

package mapper;import java.util.List;import java.util.Map;import model.UserBean;/** * @author huidong * */public interface UserMapper {    /**     * 新增用戶     * @param user     * @return     * @throws Exception     */    public int insertUser(UserBean user) throws Exception; /** * 修改用戶 * @param user * @param id * @return * @throws Exception */ public int updateUser (UserBean user,int id) throws Exception; /** * 刪除用戶 * @param id * @return * @throws Exception */ public int deleteUser(int id) throws Exception; /** * 根据id查询用户信息 * @param id * @return * @throws Exception */ public UserBean selectUserById(int id) throws Exception; /** * 查询所有的用户信息 * @return * @throws Exception */ public List
selectAllUser() throws Exception; /** * 根据姓名和密码查询用户信息 * @return * @throws Exception */ public List
selectUserByNameAccount(Map
map) throws Exception; }

 

建立DBTools:

package tools;import java.io.Reader;import org.apache.ibatis.io.Resources;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;public class DBTools {    public static SqlSessionFactory sessionFactory;        static{        try {            //使用MyBatis提供的Resources类加载mybatis的配置文件            Reader reader = Resources.getResourceAsReader("mybatis.cfg.xml");            //构建sqlSession的工厂            sessionFactory = new SqlSessionFactoryBuilder().build(reader);        } catch (Exception e) {            e.printStackTrace();        }            }    //创建能执行映射文件中sql的sqlSession    public static SqlSession getSession(){        return sessionFactory.openSession();    }    }

 

建立Servic类,做测试

package service;import java.util.HashMap;import java.util.List;import java.util.Map;import org.apache.ibatis.jdbc.SQL;import org.apache.ibatis.session.SqlSession;import model.UserBean;import tools.DBTools;import mapper.UserMapper;public class UserService {    /**     * 新增用户     */    private static void insertUser() {
try (SqlSession session = DBTools.getSession()) { UserBean user = new UserBean("苏子2", "123", 500.0); session.insert("insertUser", user); session.commit(); } } /** * 删除用户 */ private static void deleteUser() { SqlSession session = DBTools.getSession(); UserMapper mapper = session.getMapper(UserMapper.class); try { mapper.deleteUser(1); session.commit(); } catch (Exception e) { e.printStackTrace(); session.rollback(); } } /** * 根据id查询用户 */ public static UserBean selectUserById(int id) { SqlSession session = DBTools.getSession(); UserBean user = session.selectOne("selectUserById", id); if (user == null) { System.out.println("user不存在"); } else { System.out.println(user.toString()); } session.close(); return user; } /** * 查询所有的用户 */ private static void selectAllUser() {
SqlSession session = DBTools.getSession(); List
list = session.selectList("selectAllUser"); for (UserBean user : list) { System.out.println(user.toString()); } session.close(); } private static void selectUserByQuery() { SqlSession session = DBTools.getSession(); Map
map = new HashMap
(); map.put("name", "2"); map.put("account", 400); UserMapper mapper = session.getMapper(UserMapper.class); try { List
list = mapper.selectUserByNameAccount(map); for (UserBean user : list) { System.out.println(user.toString()); } if (list == null || list.size() <= 0) { System.out.println("数据集为空"); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } }}

 

讲解三个注解:

@RequestMapping,用来映射请求的url地址

@RequestParam,绑定单个请求数据,可以是URL中的数据,表单提交的数据或上传的文件; 

@PathVariable,绑定URL模板变量值;  

 

感谢网友们的分享,能让我一步步学习mvc和mybatis。

http://www.cnblogs.com/liukemng/p/3729071.html

转载于:https://www.cnblogs.com/suzixuan/p/6954208.html

你可能感兴趣的文章
CSS实现强制换行-------Day 78
查看>>
Python批量删除指定目录下的指定类型的文件
查看>>
Machine Learning #Lab1# Linear Regression
查看>>
c语言中的位移位操作
查看>>
Netty In Action中文版 - 第一章:Netty介绍
查看>>
八排序算法汇总
查看>>
去除HTML代码得函数
查看>>
ASP.NET MVC Filters 4种默认过滤器的使用【附示例】
查看>>
发布一快速开发报表的类库,让报表的开发具有前所未有的方便和快速
查看>>
List<T>到XML的序列化与反序列化
查看>>
c# 获取网页源代码(支持cookie),最简单代码
查看>>
浅谈Android中Serializable和Parcelable使用区别
查看>>
mysql 5.7.7+支持JSON字段格式
查看>>
iOS开发之多媒体播放
查看>>
开始iOS 7中自动布局教程(一)
查看>>
POJ 3254 Corn Fields(状压DP)
查看>>
MySQL 删除重复数据
查看>>
ACM-ICPC 2018 徐州赛区网络预赛 B(dp)
查看>>
BZOJ 1022(博弈论)
查看>>
loj 515(bitset优化dp)
查看>>