发表于: 2017-11-27 23:27:33

1 694


今天完成的事:

1、MyBatis的增删改查操作。

<1>DB连接的配置文件:

   再将配置文件在MyBatis的配置文件中激活

<properties resource="jdbc.properties"/>

连接数据库

<2>MyBatis主配置文件的内容:

  1、注册数据库连接的属性文件,如jdbc.properties;

  2、注册实体类全限定类名的别名(今天没用到);

  3、配置MyBatis的运行环境

  4、注册映射文件,mapper

<3>

   <environments/> 中可以有多个环境,属性default是指当前MyBatis的运行环境。

<transactionManager type="JDBC"/>

    指定MyBatis所用的事务管理器是JDBC,还有一种是MANAGED;

<dataSource type="POOLED">

    配置MyBatis使用的数据类型,POOLED使用数据库连接池来维护连接,UNPOOLED不用连接池,每次使用都创建一个DB连接,用完后马上断开,JNDI数据源可以定义到应用外部。

<4>用于MyBatis连接数据库的工具类

private static SqlSessionFactory factory;
public static SqlSession getSqlSession(){
try {
if(factory == null){
//读取配置文件
           InputStream inputStream = Resources.getResourceAsStream("mybatis.xml");
           //创建SqlFactory工厂
           factory = new SqlSessionFactoryBuilder().build(inputStream);
       }
} catch (IOException e) {
e.printStackTrace();
   }
return  factory.openSession();
}

    Resources类用来获取配置文件,

public void deleteStudentById(int id) {
try{
session = MyBatisUtil.getSqlSession();
       session.delete("deleteStudentById",id);
       session.commit();
   }finally {
if (session != null) session.close();
   }
}

     一个SqlSession接口对象对应一次数据库会话,会话以SqlSession创建开始,以SqlSession对象关闭结束。

<insert id="insertStudent">
   INSERT INTO student(name,age) VALUES (#{name},#{age})
</insert>

   #{  }对指定参数类型的属性值得引用,id是sql语句的标识,不能重复,在java代码中使用

  commit提交事务,close关闭事务

遇到的问题:

1、上午找的例子一直跑不通,尝试百度异常信息去解决,因为一些基础概念不懂,耗时很长最后也没有解决,下午换了例子形势明朗很多。

2、对事务的了解不够,还有反射机制。

3、对数据池相关概念不了解。

明天计划:

1、MyBatis基于注解开发,一般用映射文件的方式更多。

2、Spring+MyBatis。

3、学习一下java基础的反射机制。


收获:

和今天完成的事重复

禅道:http://task.ptteng.com/zentao/task-view-14280.html


返回列表 返回列表
评论

    分享到