mybatis初步学习

1.导包

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>cn.tedu</groupId>
  <artifactId>mybatis-day01</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>war</packaging>
  
  <dependencies>
   <dependency>  
      <groupId>org.mybatis</groupId>  
      <artifactId>mybatis</artifactId>  
      <version>3.2.5</version>  
      </dependency>  
   <dependency>
    <groupId>commons-dbcp</groupId>
    <artifactId>commons-dbcp</artifactId>
    <version>1.4</version>
   </dependency>
<dependency>  
<groupId>com.oracle</groupId>
<artifactId>ojdbc14</artifactId>
<version>10.2.0.2</version>
</dependency> 
  <dependency>
  <groupId>junit</groupId>
  <artifactId>junit</artifactId>
  <version>3.8.2</version>
  </dependency>
  </dependencies>

</project>

2.写实体类package entity;


public class Emp {

private Integer id;
private String name;
private Double age;


@Override
public String toString() {
return "Emp [id=" + id + ", name=" + name + ", age=" + age + "]";
}




public Integer getId() {
return id;
}




public void setId(Integer id) {
this.id = id;
}




public String getName() {
return name;
}




public void setName(String name) {
this.name = name;
}




public Double getAge() {
return age;
}




public void setAge(Double age) {
this.age = age;
}




public Emp() {
// TODO Auto-generated constructor stub
}


}

 

3.写EmpMapper.xml。

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

<!DOCTYPE mapper PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN"      
 "http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd">


<mapper namespace="test" >
<insert 
id="save" 
parameterType="entity.Emp">
INSERT INTO emp_sly VALUES(emp_seq_sly.nextval,#{name},#{age})
</insert>

<!-- id要求唯一 
resultType:参数类型
 -->
<select id="findAll" resultType="entity.Emp" >
SELECT * FROM emp_sly
</select>

<select id="findById" parameterType="int" 
resultType="entity.Emp" >
SELECT * FROM emp_sly
where id = #{id1}
</select>

<select id="findById2" parameterType="int" 
resultType="map" >
SELECT * FROM emp_sly
where id = #{id1}
</select>

<delete id="delete"
parameterType="int">
DELETE  FROM emp_sly  
where id = #{id}
</delete>
<update id="modify" parameterType="entity.Emp">
UPDATE emp_sly set name = #{name},
age = #{age} where id= #{id}
</update>

<select id="findById3" 
parameterType="int"  
resultMap="emp2Map" >
select * from emp_sly where id = #{id}
</select>
<!-- 表的字段名跟实体类的映射关系 -->
<resultMap type="entity.Emp2" id="emp2Map">
<result property="ename" column="name" />
<result property="empno" column="id" />

</resultMap>

</mapper>

4.写sqlMapConfig.xml

<?xml version="1.0" encoding="UTF-8" ?>  
<!DOCTYPE configuration PUBLIC "-//ibatis.apache.org//DTD Config 3.0//EN" 
"http://ibatis.apache.org/dtd/ibatis-3-config.dtd">
<configuration>
<environments default="environment">
<environment id="environment">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="oracle.jdbc.driver.OracleDriver" />
<property name="url"
value="jdbc:oracle:thin:@localhost:1521:xe" />
<property name="username" value="system" />
<property name="password" value="oracle" />
</dataSource>
</environment>
</environments>
<!-- 映射文件(sql语句)的位置 -->
<mappers>
<mapper resource="entity/EmpMapper.xml" />

</mappers>
 
</configuration> 

 

5.写test类

package test;

 


import java.util.List;
import java.util.Map;


import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Before;
import org.junit.Test;


import entity.Emp;
import entity.Emp2;


public class TestCase {
private SqlSession session;
@Before
public void init(){
SqlSessionFactoryBuilder ssfb = new SqlSessionFactoryBuilder();

SqlSessionFactory ssf = 
ssfb.build(
TestCase.class
.getClassLoader()
.getResourceAsStream("SqlMapConfig.xml"));
session = ssf.openSession();

}

@Test
public void test1(){
Emp emp = new Emp();
emp.setName("22sly");
emp.setAge(new Double(22));
session.insert("test.save",emp);
session.commit();
session.close();
}

@Test
public void test2(){
List <Emp> lists= 
session.selectList("test.findAll");
System.out.println(lists);
session.commit();
session.close();
}

@Test
public void test3(){
Emp emp = session.selectOne("test.findById", 4);
System.out.println(emp);
session.commit();
session.close();
}
@Test
public void test4(){
session.delete("test.delete",2);
session.commit();
session.close();
}
@Test
public void test5(){
Emp emp = session.selectOne("test.findById",4);
emp.setAge(emp.getAge()+10);
session.update("test.modify",emp);

session.commit();
session.close();
}
@Test
public void test6(){
Map data = session.selectOne("test.findById2", 4);
System.out.println(data);
System.out.println(data.get("NAME"));
session.commit();
session.close();
}

@Test
public void test7(){
Emp2 emp = session.selectOne("test.findById3",4);

System.out.println(emp);
session.commit();
session.close();
}





















}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值