mybatis拼接sql--单个字面量

打印 上一主题 下一主题

主题 919|帖子 919|积分 2757

mybatis拼接sql--单个字面量

jdbc接受和拼接单个字面量

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

1.获取参数
  1. public interface UserMapper {<br>    void deleteUser();<br>    void updateUser();<br>    void insertUser();<br>    List<User> selectUser();<br>    void test(String username);<br>}
复制代码
  1. void test(String username);    调用的时候传入
复制代码
 
2.mapper映射文件中参数接受和拼接

2.1 ${}的方式进行接受和拼接

接受:随便什么名字都可以,是按形参的顺序进行接受的,但是为了键明实意,直接与形参名一样就行,不一样也不是不可以;
拼接:${}对应的就是jdbc原生两种方法中的拼接字符串方法,要注意凭借之后是不带单引号的,一定要在拼接之前加上;
  1. <select id="test" resultType="User"><br>    select * from t_user where username = '${username}'<br></select>
复制代码
2.2 #{}的方式进行接受和拼接

接受:同上,随便啥名字都行,按照形参顺序接受
拼接:#{}对应jdbc中的占位符赋值方法,没啥要注意的
  1. <select id="test" resultType="User"><br>    select * from t_user where username = #{username};<br></select>
复制代码
 
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

金歌

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表