mybits,环境搭建和简单查询

来源:互联网 发布:以人为镜可以知得失 编辑:程序博客网 时间:2024/06/03 21:54
  • pojo:不按mvc分层,只是 Java bean有一些 属性,还有get,set方法
  • domain:不按mvc分层,只是 Java bean有一些 属性,还有get,set方法
  • po:用在持久层,还可以再增加或者修改 的时候,从页面直接传入action中,它里面的java bean 类名等于表名,属性名等于 表的字段,还有对应的get,set方法
  • vo:view object表现层对象,主要 用于在高级查询中从页面接收传过来的 各种参数,好处 是扩展性强
  • bo:用在service层,现在企业基本不用
    这些po,vo,bo,pojo可以用在各种层,也就是po用在表现层,vo用在持久层不报错,因为都是普通的java bean,没有 语法错误,但是在 企业 最好不要混淆着用,因为这些都是设计的原则,混着用比较乱,不利于代码维护

    - mybatis的依赖 包

  • asm-3.3.1.jar

  • cglib-2.2.2.jar
  • commons-logging-1.1.1.jar
  • javassist-3.17.1-GA.jar
  • log4j-1.2.17.jar
  • log4j-api-2.0-rc1.jar
  • log4j-core-2.0-rc1.jar
  • slf4j-api-1.7.5.jar
  • slf4j-log4j12-1.7.5.jar
  • MyBatis下载地址

  • 地址:https://github.com/mybatis/mybatis-3/releases
    这里写图片描述
    若是maven搭建的项目,写如下的配置

<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis --><dependency>    <groupId>org.mybatis</groupId>    <artifactId>mybatis</artifactId>    <version>3.4.4</version></dependency>

sqlMapConfig.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="${driver}"/> <property name="url" value="${url}"/> <property name="username" value="sa"/> <property name="password" value="123"/> </dataSource> </environment> </environments> <mappers> <mapper resource="User.xml"/> </mappers></configuration>
  • 这主要负责为我们的程序执行SQL查询
    log4j.properties打印日志的配置文件
#Global logging configurationlog4j.rootLogger=DEBUG,stdout#Console outputlog4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern=%5p [%t]-%m%n

写一个UserTest类

import java.io.InputStream;import org.apache.ibatis.io.Resources;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;import org.junit.Test;import pojo.User;public class UserTest {    @Test    public void textFindUserById() throws Exception {        String resource = "SqlMapConfig.xml";        // 通过流将核心配置文件读取进来        InputStream inputStream = Resources.getResourceAsStream(resource);        // 通过核心配置文件输入流来创建会话工厂        SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(inputStream);        // 通过工厂,创建会话        SqlSession opeanSession = factory.openSession();        // 第一个参数:所调用的sql语句=namespacce+.+sql的ID        User user = opeanSession.selectOne("test.findUserById", 1);        System.out.println(user);        opeanSession.close();    }}

其中UString resource = “SqlMapConfig.xml”;是和上面一一对应的,双方都是要配置的

  • 如果想写模糊查询
<select id="findUserByUserName" parameterType="java.lang.string" resultType="pojo.User">select * from user where username like '%${value}%'</select>

string,long,double,int,boolean,float),{}中的变量名称必须是value,注意:拼接符有sql注入的风险,所以慎重使用,一般后面是=号的用占位符。like后面用拼接符

  • UserTest中的代码就要这样写
List<User>list=openSession.selectList("test.findUserByUserName","王"):
原创粉丝点击