美文网首页
创建mybatis项目

创建mybatis项目

作者: Yanl__ | 来源:发表于2019-12-08 21:47 被阅读0次
  1. 起一个web项目,然后配置环境,copy需要用到的jar包到lib中
  2. 配置xml文件,放置在src目录下。起名无限制,此处起名mybatis.xml

  1. 数据库中创建表,再创建pojo实体类文件夹
    根据 实体属性,写变量以及生成set和get方法
    (标准实体类对构造方法没有要求,可以不用写)
package com.steer.pojo;

/**
 * @author yanl
 * @date 2019-12-08 6:52 下午
 */
public class Account {
    private int id;
    private String accNo;
    private int password;
    private String name;
    private double balance;

 // 标准实体类对构造方法是没有要求的

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getAccNo() {
        return accNo;
    }

    public void setAccNo(String accNo) {
        this.accNo = accNo;
    }

    public int getPassword() {
        return password;
    }

    public void setPassword(int password) {
        this.password = password;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public double getBalance() {
        return balance;
    }

    public void setBalance(double balance) {
        this.balance = balance;
    }
}

  1. 写完实体类,再写实体类的mapper
    4.1 新建mapper文件夹,按照标准命名规范给mapper的xml文件命名,此处命名:AccountMapper.xml
    4.2 在mapper标签中给namespace属性添加值,值为 包名+文件名
<mapper namespace="com.steer.mapper.AccountMapper">

4.3 然后在mapper标签内就可以写select标签了。

  1. 写完mapper,创建service包,在包中写service类
    5.1 先写接口
    在接口中将要实现的业务全部写为对应的方法
    5.2 在service包中创建impl包,在其中写Impl
    在Impl中实现接口,完善每个业务逻辑所需要的代码

1.首先需要加载xml资源,构建一个Sqlsession对象,在通过对象调用xxxMapper.xml中的sql

// 从对应文件中加载资源,加载为Stream
        InputStream is = Resources.getResourceAsStream("mybatis.xml");
        // 前面是工厂模式 后面是构建者模式
        // 构建一个工厂,通过工厂生成session
        SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
        SqlSession session = factory.openSession();

6.创建servlet包,编写servlet类

@WebServlet("/transfer")
public class TransferServlet extends HttpServlet {
    private AccountService accService = new AccountServiceImpl();

    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        // 信息中可能会有中文,先设置文本编码
        req.setCharacterEncoding("utf-8");
        // 实例化一个转出对象
        Account accOut = new Account();
        accOut.setAccNo(req.getParameter("accOutAccNo"));
        accOut.setPassword(Integer.parseInt(req.getParameter("accOutPassword")));
        accOut.setBalance(Double.parseDouble(req.getParameter("accOutBalance")));
        // 实例化一个收款账户
        Account accIn =new Account();
        accIn.setAccNo(req.getParameter("accInAccNo"));
        accIn.setName(req.getParameter("accInName"));

        // 调用转账方法,返回的是转账业务的各个状态码
        int index = accService.transfer(accIn, accOut);
        if(index==AccountService.SUCCESS){
            // 转账成功
//            resp.sendRedirect("/bank/show");
            resp.sendRedirect("success.jsp");
        }else{
            // 转账失败
            HttpSession session = req.getSession();
            session.setAttribute("code", index);
            resp.sendRedirect("/bank/error/error.jsp");
        }
    }
}

相关文章

网友评论

      本文标题:创建mybatis项目

      本文链接:https://www.haomeiwen.com/subject/mnomgctx.html