Mybatis;

it2022-07-02  193

最近刚刚接受一些框架知识,Mybatis,xml的各种配置,以及各种各样的不知道是什么的文件,向我铺天盖地的砸了过来,说实在的,真是有点让人措手不及。

所以,这些代码希望能对初识Mybatis的小菜鸟们有所帮助。

首先是xml的配置文件:(这是新建的一个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> <!-- 引入属性文件 --> <properties resource="conf/jdbc_oracle.properties"></properties>  <!-- 别名 --> <typeAliases> <!-- <typeAlias type="model.User" alias="User"/>实体类少的情况下可用 --> <package name="model"></package>  </typeAliases> <!-- 开发环境 --> <environments default="development">  <!-- 子属性 -->  <environment id="development">  <!-- 事务管理器   两种,一种是JDBC  另一种是MANAGER。。(托管)  welogic,jboss...  tomcat没有第二种  -->  <transactionManager type="JDBC"></transactionManager>    <!--   配置数据源  UNPOOLED   非连接池  POOLED    连接池  JNDI   应用服务器   -->      <dataSource type="POOLED">   <!-- 使用属性文件里面的值,或者是直接在配置文件里边定义 -->   <property name="username" value="${jdbc.username}"/>   <property name="password" value="${jdbc.password}"/>   <property name="driver" value="${jdbc.driver}"/>   <property name="url" value="${jdbc.url}"/>      </dataSource>  </environment> </environments>  <!-- 添加映射文件 --> <mappers>  <mapper resource="aaa/UserMapper.xml"/> </mappers> </configuration>

数据库的链接:(新建一个File,然后加一个后缀    .properties   这种File文件,你将后缀写成什么样子,它就会是一个什么样的文件)

jdbc.username=testjdbc.password=199715jdbc.driver=oracle.jdbc.OracleDriverjdbc.url=jdbc:oracle:thin:@localhost:1521:orcl

实例化一个类:(就是你的数据库里表的字段名)

package model;

public class Users {

  public Integer id;  

public String username;   

public String password;        

 public Users() {  

  super();       }   

public Users(Integer id,String username,String password){   

 super();    

this.id=id;  

  this.username=username;    

this.password=password;   }  

 public Users(String username,String password){  

  super();   

 this.username=username;   

 this.password=password;   }      

public Integer getId() {    

return id;   }  

 public void setId(Integer id) {    

this.id = id;   }  

 public String getUsername() {   

 return username;   }   

public void setUsername(String username) {   

 this.username = username;   }  

 public String getPassword() {  

  return password;   }  

 public void setPassword(String password) {  

  this.password = password;   }  

 @Override

  public String toString() {    return "User [id=" + id + ", username=" + username + ", password=" + password + "]";   }         }

重点问题:在上一篇博客中强调的问题,这个实例化的类,一定不要定义成静态的

获取链接:

import java.io.IOException;

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;

public class MyBatisutill {  

private static SqlSessionFactory SqlSessionFactory;

 private static SqlSession sqlSession;      

 

public static SqlSessionFactory getSqlSessionFactory(){

  String path = "conf/NewFile.xml";

  InputStream in = null;  

 try {    in = Resources.getResourceAsStream(path);

  } catch (IOException e) {    

e.printStackTrace();   }  

 SqlSessionFactory = new SqlSessionFactoryBuilder().build(in);     

 return SqlSessionFactory;  }

   public static SqlSession getSqlSession(){  

 if(sqlSession == null){   

 sqlSession = getSqlSessionFactory().openSession();  

 }      

return sqlSession;  }  

 public static void destory(){  

 sqlSession.commit();

  sqlSession.close();  }  

public static void main(String[] args) {

  System.out.println(getSqlSession());  } }

测试:(新建一个junitTestTest)

import static org.junit.Assert.*;

import java.util.List;

import org.apache.ibatis.session.SqlSession; import org.junit.After; import org.junit.Before; import org.junit.Test;

import Utill.MyBatisutill; import aaa.User; import model.Users;

public class junitTest {

 private SqlSession ss;  private User um;  

 @Test//注解  

public void test() {  

 /*List<Object> list = ss.selectList("aaa.User.getAllUser");   

System.out.println(list);*/  

 /*Users users = new Users("huanghuan","111");  

 int a = ss.insert("aaa.User.addUser",users);  

 System.out.println(a);*/  

 /*int a = um.delUser(1);  

 System.out.println(a);*/   

Users users = new Users("荔枝烂了","555");   

int a = ss.update("aaa.User.updateUser",users);  }  

 @Before

 public void setUp() throws Exception {  

 ss = MyBatisutill.getSqlSession();

  um = ss.getMapper(User.class);  

 System.out.println(ss);  }

 @After  

public void tearDown() throws Exception {   

MyBatisutill.destory();  }

 }

写一个方法类,调用里边的方法;

import java.util.List;

 

public interface User {  

public List<User> getAllUsers();  

public int addUser();

 public int delUser(int id);

 public int updateUser();

}

xml文件,里边是数据库里简单的增删改查语句;

<?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="aaa.User">  <select id="getAllUser" resultType="Users">  select * from z_user </select>  <insert id="addUser" parameterType="Users">  insert into z_user z values(test_sq.nextval,#{username},#{password}) </insert> <delete id="delUser" parameterType="int">  delete z_user z where z.id=#{id} </delete> <update id="updateUser" parameterType="Users">  update z_user z set z.username=#{username},z.password=#{password} where z.id=2 </update></mapper>

 

 

转载于:https://www.cnblogs.com/hljj/p/7237970.html


最新回复(0)