Mybaits 笔记1,接口编程,缺少resources目录

1. 新建maven工程 ,id为quickstart,然后从properties里面的java build path,添加目录,resources目录。默认的eclipse不带resources目录。

具体步骤如下,在src下,main下,建立resource目录,然后在buildpath里,sources选项卡,然后点击add folder,然后选中刚才建立的resources,即可。

2. pom建立坐标,

<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.4.6</version>
</dependency>
    <!-- https://mvnrepository.com/artifact/junit/junit -->
<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.12</version>
    <scope>test</scope>
</dependency>
    
    <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.48</version>
</dependency>

3. 编写实体bean类,如Employee

4.编写接口,如EmployeeMapper,这里的接口的名字需要和mapper的namespace的全类名相同,另外接口的方法,要和mapper的id相同。

5.编写mybaits-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/test"/>
        <property name="username" value="root"/>
        <property name="password" value="123456"/>
      </dataSource>
    </environment>
  </environments>
  <mappers>
    <mapper resource="EmployeeMapper.xml"/>
  </mappers>
</configuration>

6.编写EmployeeMapper

<?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="cn.taotao.dao.EmployeeMapper">   //此处的命名空间必须和接口的类名相同,下面的id必须和接口的方法名相同
  <select id="getEmployeeById" resultType="cn.taotao.bean.Employee">
    select * from tbl_employee where id = #{id}
  </select>
</mapper>

7.写测试类,注意一定要和bean和接口的名字有区分,比如EmployeeTest,如果相同,会导致导入包的错误。

@Test
    public void test()  {
        String resource = "mybatis-config.xml";
        SqlSession ss = null;
        try {
        InputStream inputStream = Resources.getResourceAsStream(resource);
        SqlSessionFactory ssf = new SqlSessionFactoryBuilder().build(inputStream);
        ss = ssf.openSession();
        EmployeeMapper mapper = ss.getMapper(EmployeeMapper.class);
        Employee employee  = mapper.getEmployeeById(1);
        System.out.println(employee.toString());
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }finally {
        ss.close();    
        }
    }

 

又如:

    @Test
    public void test() {
        String resource = "mybatis-config.xml";
        SqlSession sqlSession = null;                   //非线程安全的对象,不能作为成员变量,必须每次获取。在多线程下,A线程可能把他关了,B线程可能在用。为避免,必须每次获取。
        try {
            InputStream inputStream = Resources.getResourceAsStream(resource);
            SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
            sqlSession = sqlSessionFactory.openSession();
            EmployeeMapperDao empMapperDao = sqlSession.getMapper(EmployeeMapperDao.class);     //接口类型,接口类
            Employee emp = empMapperDao.getEmpById(1);                                           //接口里面的方法   
            System.out.println(emp.toString());
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }finally {
            sqlSession.close();
        }
        
    }

 

另外的两种方式创建数据库

在/src/main/resource 下建立 activiti.cfg.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:tx="http://www.springframework.org/schema/tx"
    xmlns:aop="http://www.springframework.org/schema/aop"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd
        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.3.xsd
        http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.3.xsd">

    <bean id="processEngineConfiguration"
        class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">
        <property name="jdbcDriver" value="com.mysql.jdbc.Driver"></property>
        <property name="jdbcUrl"
            value="jdbc:mysql://localhost:3306/activitidb"></property>
        <property name="jdbcUsername" value="root"></property>
        <property name="jdbcPassword" value="123456"></property>
        <property name="databaseSchemaUpdate" value="true"></property>
    </bean>
</beans>

 

代码(2个示例)

@Test
    public void createDb2() {
        ProcessEngineConfiguration config = ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("activiti.cfg.xml");
         config.buildProcessEngine();
    }
    
    @Test
    public void createDB3() {
        ProcessEngine engine = ProcessEngines.getDefaultProcessEngine();   //这里是复数形式 ,带s
    }

 

posted @ 2019-09-27 10:56  琴声清幽  阅读(285)  评论(0编辑  收藏  举报