您现在的位置是:首页 >

栈在计算机中的应用 Mybatis 在CS程序中的应用

火烧 2023-03-15 00:26:35 1041
My ati 在CS程序中的应用 如果是自己用的My ati 不需要考虑对配置文件加密 如果不是 那就需要考虑加密 这篇文章主要讲如何配置CS的My ati   因为my ati 好使 所以几乎需要操

Mybatis 在CS程序中的应用  

栈在计算机中的应用 Mybatis 在CS程序中的应用
如果是自己用的Mybatis 不需要考虑对配置文件加密 如果不是 那就需要考虑加密 这篇文章主要讲如何配置CS的Mybatis  

  因为mybatis好使 所以几乎需要操作数据库的时候 我都会使用mybatis 而且在一个正式的项目中 同时存在BS和CS的程序 都使用的Mybatis 使用的相同mapper文件 Mybatis的XML配置文件正常如下

复制代码 代码如下: <?xml version=" " encoding="UTF " ?> <!DOCTYPE configuration   PUBLIC " //mybatis //DTD Config //EN"   " <configuration>  <environments default="development">   <environment id="development">    <transactionManager type=JDBC />    <dataSource type=POOLED>     <property name=driver value="driver" />     <property name=url value="url" />     <property name=username value="username" />     <property name=password value="password" />    </dataSource>   </environment>  </environments>  <mappers>   <mapper resource="/isea/dao/YouMapper xml" />  </mappers> </configuration>

   为了防止数据库用户名密码泄漏 我将XML进行双向加密 变成了一个字节文件 而且文件名后缀随意 例如 basic data 内容局部如下

  

  根据XML生成Mybatis的SqlSessionFactory 代码如下

复制代码 代码如下: public class MyBatis {  private static final String CONFIG = "basic data";  private SqlSessionFactory sqlSessionFactory;  private static MyBatis instance = new MyBatis();  private MyBatis(){   InputStream inputStream = null;   try {    inputStream = getXMLIS();    if(inputStream==null){     throw new RuntimeException("数据库信息配置失败!");    }    sqlSessionFactory = new SqlSessionFactoryBuilder() build(inputStream);   } finally{    try {     inputStream close();    } catch (Exception e) {    }   }  }  public static InputStream getXMLIS(){   InputStream inputStream = null;   try {    //对资源进行加密 解密后处理    BufferedReader reader = new BufferedReader(new FileReader(new File(Config LOCATION+"/"+CONFIG)));    String str = null;    StringBuffer sbBuffer = new StringBuffer();    while((str=reader readLine())!=null){     sbBuffer append(str);    }    EncrypDES encrypDES = new EncrypDES();    String result = encrypDES Decryptor(sbBuffer toString());    inputStream = new ByteArrayInputStream(result getBytes());    return inputStream;   } catch (Exception e) {   }   return null;  }  public SqlSessionFactory getSqlSessionFactory(){   return sqlSessionFactory;  }  public static MyBatis getInstance(){   return instance;  } }

   这里的data文件是在src下 代码中的EncrypDES是一个使用DES的加密解密类 代码中的Config LOCATION代码如下

复制代码 代码如下: public static String getRealPath() throws Exception {   String realPath = Config class getClassLoader() getResource("") getFile();   java io File file = new java io File(realPath);   realPath = file getAbsolutePath();   realPath = java net URLDecoder decode(realPath "utf ");   return realPath;  } lishixinzhi/Article/program/Java/JSP/201311/20548  
永远跟党走
  • 如果你觉得本站很棒,可以通过扫码支付打赏哦!

    • 微信收款码
    • 支付宝收款码