mybatis 初学 小例子

来源:互联网 发布:软件腰带图片 编辑:程序博客网 时间:2024/05/22 07:39

今天终于把它弄清楚了,刚刚学java,挺费劲呀。

在mysql中创建一个数据库mygps,表名为test(id,age,username,password)

(1)先引用mybatis-3.0.2.jar,mysql-connector-java-5.0.8-bin.jar

(2)配置连接数据库xml文件取名叫config.xml

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

<configuration>
 <environmentsdefault="development">
  <environmentid="development">
   <transactionManagertype="JDBC"/>
   <dataSourcetype="POOLED">
    <propertyname="driver" value="com.mysql.jdbc.Driver"/>
    <propertyname="url"value="jdbc:mysql://localhost:3306/mygps"/>//数据库名为mypgs
    <propertyname="username" value="root"/>
    <propertyname="password"value="root"/>
   </dataSource>
  </environment>
 </environments>
<mappers>
 <mapperresource="org/mybatis/test/testmapper.xml"/>//写sql语句的xml
</mappers>
</configuration>

(3)配置sql语句的xml取名叫testmapper.xml

<?xml version="1.0"encoding="UTF-8"?>

<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mappernamespace="testmapper">
 <select id="selectbyid"parameterType="int"resultType="org.mybatis.test.test">//test为一个类,用于设置与数据库有关的数据类型
  select * from test wheretest.id=#{id}
 </select>
 <insert id="insertvalues"parameterType="org.mybatis.test.test">
    insert into test (id,username,password,age) values(#{id},#{username},#{password},#{age})
 </insert>
 <update id="updatevalue"parameterType="org.mybatis.test.test">
    update test set username=#{username} where id=#{id}
   </update>

</mapper>

(4)取出数据库的连接取名叫util 是一个类

package org.mybatis.test;

import java.io.IOException;
import java.io.Reader;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
public class util {

 public static SqlSessionFactorysqlmapper=null;

 static
 {
  Stringrs="org/mybatis/test/config.xml";//为第二步中的配置文件名
  Reader reader=null;
  try
  {
     reader=Resources.getResourceAsReader(rs);

  }
  catch(IOException e)
  {
   e.printStackTrace();
  }
  sqlmapper=newSqlSessionFactoryBuilder().build(reader);
 }
 public static SqlSessionFactorygetSqlSessionFactory()
 {
       return sqlmapper;
 }
}

(5)执行sql语句取名叫getTest 是一个类

package org.mybatis.test;
import org.mybatis.test.util;
import org.mybatis.test.test;
import org.apache.ibatis.session.SqlSession;
public class getTest {

 public test  getvalue(intid)
 {
  SqlSessionsession= util.getSqlSessionFactory().openSession();
      test ts=null;
      try
      {
   ts=(test)session.selectOne("testmapper.selectbyid",id);//为第三步中配置文件中的selectid

      }
  catch(Exception e)
  {
   e.printStackTrace();
  }
  finally
  {
   session.close();
  }
  return ts;

 }
 public void insertvalue(int id, Stringusername,String password,int age)
 {
    SqlSession session= util.getSqlSessionFactory().openSession();
       test ts=new test();
       ts.SetID(id);
       ts.SetUserName(username);
       ts.SetPassWord(password);
       ts.SetAge(age);
       try
       {
   session.selectOne("testmapper.insertvalues",ts);)//为第三步中配置文件中的insertid

       }
   catch(Exceptione)
   {
    e.printStackTrace();
   }
   finally
   {
    session.close();
   }
 }
 public void updatevalue(int id,Stringusername)
 {
    SqlSession session= util.getSqlSessionFactory().openSession();
       test ts=new test();
       ts.SetID(id);
       ts.SetUserName(username);
       try
       {
       session.selectOne("testmapper.updatevalue",ts);)//为第三步中配置文件中的updateid
       }
   catch(Exceptione)
   {
    e.printStackTrace();
   }
   finally
   {
    session.close();
   }
 }

}
(6)为数据源编写test类

package org.mybatis.test;

public class test {
private int id;
private int age;
private String username;
private String password;

 public int getID()
 {
  return this.id;
 }
 public void SetID(int id)
 {
 this.id=id;
 }

 public int getAge()
 {
  return this.age ;
 }
 public void SetAge(int age)
 {
    this.age=age;
 }

 public String getUserName()
 {
  return this.username ;
 }
 public void SetUserName(String username)
 {
 this.username =username;
 }

 

public String getPassWord()
 {
  return this.password ;
 }
 public void SetPassWord(String password)
 {
   this.password =password;
 }
}