ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

mybatis拼接sql--单个字面量

2022-06-24 06:00:06  阅读:152  来源: 互联网

标签:username -- void 拼接 sql mybatis where select


mybatis拼接sql--单个字面量

jdbc接受和拼接单个字面量

1.字符串拼接
    public void testJDBC_pingjiefangshi() throws SQLException {
//       字符串拼接方式
//       select * from t_user where username = 'jack'
//       有两个问题:
1.单引号需要手动加上  
              2.sql注入
      String sql ="select * from t_user where username = 'jack'";
      Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/mybatis","root","123456");
      connection.prepareStatement(sql);
  }
2.占位符赋值
public void testJDBC_zhanweifufuzhi() throws SQLException {
  String sql = "select * from t_user where username = ?";
  Connection root = DriverManager.getConnection("jdbc:mysql://localhost:3306/mybatis", "root", "123456");
  PreparedStatement preparedStatement = root.prepareStatement(sql);
  preparedStatement.setString(1,"jack");
}

在mybatis中接受和拼接单个字面量

1.获取参数
public interface UserMapper {
  void deleteUser();
  void updateUser();
  void insertUser();
  List<User> selectUser();
  void test(String username);
}
void test(String username);    调用的时候传入

 

2.mapper映射文件中参数接受和拼接
2.1 ${}的方式进行接受和拼接

接受:随便什么名字都可以,是按形参的顺序进行接受的,但是为了键明实意,直接与形参名一样就行,不一样也不是不可以;

拼接:${}对应的就是jdbc原生两种方法中的拼接字符串方法,要注意凭借之后是不带单引号的,一定要在拼接之前加上;

<select id="test" resultType="User">
  select * from t_user where username = '${username}'
</select>
2.2 #{}的方式进行接受和拼接

接受:同上,随便啥名字都行,按照形参顺序接受

拼接:#{}对应jdbc中的占位符赋值方法,没啥要注意的

<select id="test" resultType="User">
  select * from t_user where username = #{username};
</select>
 

标签:username,--,void,拼接,sql,mybatis,where,select
来源: https://www.cnblogs.com/new228666/p/16407406.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有