MyBites的使用,连接xml

MyBites 主要是对数据的操作,操作数据库首先的写接口对其进行操作,首先新建一个Servlet,复写doGet,doPost方法,在doPost中添加数据,首先创建实体(这个就不写了),给实体添加数据

MyBitesStudio.java


String name=request.getParameter("users");//获得用户输入的数据
        List<UserBean> list=userList();
        if(name!=null){
            for(int i=0;i<list.size();i++){
                if(list.get(i).getName().equals(name)){
                    list.remove(i);
                }
            }
        }
        request.setAttribute("users", list);//将数据添加,在jsp页面中显示
    private List<UserBean> userList(){
        List<UserBean> list=new ArrayList<>();
        UserBean bean=new UserBean();
        bean.setAge(1);

        bean.setCreateTime(new Date().toString());
        bean.setId(UUID.randomUUID().toString().replaceAll("-", ""));
        bean.setName("张三");
        bean.setSex("男");
        list.add(bean);
        UserBean bean1=new UserBean();
        bean1.setAge(1);

        bean1.setCreateTime(new Date().toString());
        bean1.setId(UUID.randomUUID().toString().replaceAll("-", ""));
        bean1.setName("李四");
        bean1.setSex("女");
        list.add(bean1);
        UserBean bean2=new UserBean();
        bean2.setAge(1);

        bean2.setCreateTime(new Date().toString());
        bean2.setId(UUID.randomUUID().toString().replaceAll("-", ""));
        bean2.setName("哈哈");
        bean2.setSex("啦");
        list.add(bean2);
        return list;
    }

这个只是静态添加数据

下面是关联数据库之后的添加数据,这样就ok了
String name=request.getParameter("users");//获得用户输入的数据
List<UserBean> list=new ArrayList<>();
if(name!=null){
    UserBean bean=new UserBean();
    bean.setName(name);
    list.add(bean);
}
request.setAttribute("users", list);//将数据添加,在jsp页面中显示

index.jsp:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<table>
<!-- users是request里面的key啊 -->
    <c:forEach items="${users}" var="user">
        <tr>

            <td>${ user.id}</td>
            <td>${ user.name}</td>
            <td>${ user.age}</td>
            <td>${ user.sex}</td>
            <td>${ user.createTime}</td>
            <td><a
                href="http://127.0.0.1:8080/test/MyBitesStudio?users=${ user.name}">
                    删除 </a></td> 

        </tr>
        </c:forEach>
    </table>

第一步基本搞定,第二部连接数据库,新建mybatis-config.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
  PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
  <environments default="development">
    <environment id="development">
      <transactionManager type="JDBC"/>
      <dataSource type="POOLED">
        <property name="driver" value="com.mysql.jdbc.Driver"/>
        <property name="url" value="jdbc:mysql://localhost:3306/数据库名字"/>
        <property name="username" value="用户名"/>
        <property name="password" value="密码"/>
      </dataSource>
    </environment>
  </environments>
  <mappers>
  <!-- 注册user_mapper.xml文件, 
      user_mapper.xml位于com/dou/study/config/mapper这个包下,所以resource写成com/dou/study/config/mapper/user_mapper.xml
      user_mapper里面是sql语句-->
    <mapper resource="com/dou/study/config/mapper/user_mapper.xml"/>
  </mappers>
</configuration>

user_mapper.xml(新建Sql语句的xml)

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<!-- 为这个mapper指定一个唯一的namespace,namespace的值习惯上设置成包名+sql映射文件名,这样就能够保证namespace的值是唯一的 
    例如namespace="src.com.dou.study.mappers.user_mapper"就是src.com.dou.study.mappers(包名)+user_mapper(user_mapper.xml文件去除后缀) -->
<mapper namespace="com.dou.study.mappers.UserMapper">
    <!-- 在select标签中编写查询的SQL语句, 设置select标签的id属性为finAll,id属性值必须是唯一的,不能够重复 使用parameterType属性指明查询时使用的参数类型,
    resultType属性指明查询返回的结果集类型 
        resultType="com.dou.study.bean.UserBean"就表示将查询结果封装成一个User类的对象返回 User类就是users表所对应的实体类 -->
    <!-- 根据id查询得到一个user对象 -->
    <select id="finAll" resultType="com.dou.study.bean.UserBean">
        select * from user
    </select>
</mapper>

有一个mapper的xml,就新建一个Mapper的类,UserMapper.java,添加Sql执行

public List<UserBean> finAll() {

        String resource = "com/dou/study/config/mybatis-config.xml";
        //使用类加载器加载mybatis的配置文件(它也加载关联的映射文件)
        InputStream is;
        SqlSession session = null ;

        try {
            is = Resources.getResourceAsStream(resource);
            //构建sqlSession的工厂
            SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(is);

            //创建能执行映射文件中sql的sqlSession
            session = sessionFactory.openSession();
            /**
             * 映射sql的标识字符串,
             * com.dou.study.mappers.user_mapper是user_mapper.xml文件中mapper标签的namespace属性的值,
             * getUser是select标签的id属性值,通过select标签的id属性值就可以找到要执行的SQL
             */
            String statement = "com.dou.study.mappers.UserMapper.finAll";//映射sql的标识字符串
            //执行查询返回user对象的sql
            List<UserBean> user =  session.selectList("com.dou.study.mappers.UserMapper.finAll", UserBean.class);

            System.out.println(user.toString());
            return user;
        } catch (IOException e) {
            e.printStackTrace();
        }finally{
            if(session!=null)
                session.close();
        }
        return null;

    }

测试结果如下,ok,大功告成
这里写图片描述

Sql语句写法参考

http://blog.csdn.net/bear_wr/article/details/52386257
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值